首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL2000或者2005从本地读取Excel文件,其中一列读取不完整,该如何解决

2013-08-16 
SQL2000或者2005从本地读取Excel文件,其中一列读取不完整,该怎么解决?本该读取出的Excel文件的一列数据有1

SQL2000或者2005从本地读取Excel文件,其中一列读取不完整,该怎么解决?
本该读取出的Excel文件的一列数据有140个字段,但是读取上来之后只显示了13个半多的字段...
Office版本是2007



Create table TTT(col nvarchar(max))
go

BULK INSERT test_hl..TTT 
FROM 'D:\aaa.xlsx' 
WITH ( 
datafiletype='char',
FIELDTERMINATOR = ';',
ROWTERMINATOR = ';' 



select * from TTT

truncate table TTT

[解决办法]
引用:
--第一次查询也出现楼主说的情况,第二次就好了,真是奇怪。
--楼主可尝试选择:把结果保存到文件,试试
--楼主可尝试前面加个INSERT INTO一张表,试试
CREATE TABLE #TEMP(AA NVARCHAR(max))
INSERT #temp
SELECT * 
FROM OPENROWSET
(
    'Microsoft.ACE.OLEDB.12.0', 
    'Excel 12.0;HDR=Yes;IMEX=1;Database=D:\aaa.xlsx',
    'select * from [Sheet1$]'
)
*/

纠正一下:第一次测试也正常。由于我是用文本显示结果,而文本显示的默认值是每列256个字符,所以当时还以为是丢数据了,其实只是没显示出来而已!

热点排行