无法在sql server中读取excel文件

时间:2011-04-01 10:38:12

标签: sql-server

我在SQL Server 2005中使用bcp命令/ xp_cmdshell创建一个excel文件。

select @bcpquery = 
       'bcp "SELECT Column1 FROM Tablename"  queryout '+ 
       @fullFileName +' -c -t -U<username> -P<password> -S'+ @@servername

我无法使用以下声明

阅读excel数据
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
         'Excel 8.0;Database=<PATH\filename.xls>;HDR=YES',
         'SELECT * FROM [sheetname$]')

我无法读取文件,我相信这是因为unicode字符而发生的。

有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

虽然您正在使用BCP将数据作为分隔文件复制出来,而OPENROWSET调用正在读取Excel工作表。将CSV作为XLS打开时,Excel非常宽容,但我不知道Jet驱动程序是否相同。

我建议使用BULK INSERT来读取分隔文件,或者理想情况下使用SSIS来导出和导入数据。