我想使用sql查询将数据从excel加载到表
我发现使用openrowset但是它抛出了错误:
Cannot create an instance of OLE DB provider "Microsoft.Jet.OLEDB.4.0"
for linked server "(null)".
SELECT * into temptable
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=E:\Users\koushik.veldanda\New Microsoft Excel Worksheet.xlsx;IMEX=1',
'SELECT * FROM [Sheet1$]')
答案 0 :(得分:0)
首先,您必须启用'Ad Hoc Distributed Queries'
sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO
然后你必须按照下面的链接说明来解决这个错误
OLE DB提供程序Microsoft.Ace.OLEDB.12.0用于链接服务器(null)一些
成功按照上述说明操作后,如果出现此错误,则必须重新启动机器
从接收结果时发生传输级别错误 服务器
然后你可以运行你的查询
SELECT * into newtable
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0 Xml;HDR=YES;Database=D:\Personal\MyTest.xlsx',
'SELECT * FROM [Sheet1$]');
然后刷新数据库,您会看到使用数据创建新表