Pரத*_*ீப் 22 sql sql-server excel
我想使用查询将数据从Excel导入SQL Server,而不是使用向导.我试过这个查询:
Select * INTO g FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 12.0;Database=D:\new.xlsx;HDR=YES', 'SELECT * FROM [newSheet$]');
Run Code Online (Sandbox Code Playgroud)
但是,我收到了这个错误:
消息7308,级别16,状态1,行1
OLE DB提供程序"Microsoft.Jet.OLEDB.4.0"不能用于分布式查询,因为提供程序配置为在单线程单元模式下运行.
所以我在谷歌搜索,得到的回答如下:
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO
Run Code Online (Sandbox Code Playgroud)
即使在重新配置后它也会向我显示相同的错误......
age*_*ega 30
根据这个帖子,:
64位操作系统不支持Microsoft.Jet.OLEDB.4.0
假设您运行的是64位SQL Server,则可能需要64位Microsoft Access数据库引擎2010可再发行组件.
请注意,如果已安装其他版本,则在尝试安装软件时会出现轻微的皱纹.在这种情况下,使用/ passive开关从命令行安装第二个版本.根据这个帖子:
在具有除当前安装之外的Office安装(例如,64 on 64)的计算机上启动Microsoft ACE OLEDB Provider的安装将导致安装失败.要使其正常运行,您需要从命令行启动它,并指定"/ passive"参数.
这是在谈论现有的Office安装,但同样适用于共存的数据库引擎安装.
编辑:还要确保使用"Microsoft.ACE.OLEDB.12.0"而不是"Microsoft.Jet.OLEDB.4.0"作为提供程序字符串.(@Rumi的道具)
| 归档时间: |
|
| 查看次数: |
62827 次 |
| 最近记录: |