0

我有一个脚本,它创建一个表以及一个用于跟踪负责导入的文件名的列。

select *, 'file1.xls' as 'Filename'
into dbo.SQLServerTable 
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\testing.xls;HDR=YES','SELECT * FROM [Sheet1$]')

然后我需要执行具有不同文件名的其他导入。我不相信这个语句在语法上是正确的,它会阻止导入。

INSERT INTO dbo.SQLServerTable 
Select *, 'File2.xlsx' as 'FileName' 
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel      12.0;Database=D:\Convert\Converted\File2.xlsx;HDR=YES', 'SELECT * FROM [Worksheet$]')
4

1 回答 1

1

我遇到了这个问题,这是因为默认表值,对于字符串值,例如我需要一个 varchar(120) 的 varchar(50)

我的解决方案是将 excel 放入 csv 文件(标准保存在 excel 中),然后使用 sql Import/export UI 将文件导入表中。在此过程中,您可以查看所有默认值,然后通过高级选项卡将这些值更改为您自己的偏好。

于 2013-01-08T13:38:54.623 回答