[MSSQL] 透过OPENROWSET读取EXCEL

匿名 (未验证) 提交于 2019-12-03 00:08:02

...


STP1. 开启Server>Facets>SurfaceAreaConfiguration>AdHocRemoteQueriesEnabled, 若未开启错误消息如下,

Msg 15281, Level 16, State 1, Line 1
SQL Server blocked access to STATEMENT 'OpenRowset/OpenDatasource' of component 'Ad Hoc Distributed Queries' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'Ad Hoc Distributed Queries' by using sp_configure. For more information about enabling 'Ad Hoc Distributed Queries', see "Surface Area Configuration" in SQL Server Books Online.

 sp_configure 'show advanced options',1; GO RECONFIGURE; GO sp_configure 'Ad Hoc Distributed Queries',1; GO RECONFIGURE; GO

STP2. MyComputer>Manage>Services>SQLServer(MSSQL)>Properties>LogOn, 以管理员账号密码登入MSSQL, 重启Service, 否则会出现拒绝存取的错误

 SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:Book1.xls','SELECT * FROM [Sheet1$]')

 SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=D:Book1.xls', 'SELECT * FROM [Sheet1$]');

TS1. 64 bit OS不支持Microsoft.Jet.OLEDB.4.0, 错误消息如下,

Msg 7308, Level 16, State 1, Line 1
OLE DB provider 'Microsoft.Jet.OLEDB.4.0' cannot be used for distributed queries because the provider is configured to run in single-threaded apartment mode.

原文:大专栏[MSSQL] 透过OPENROWSET读取EXCEL


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!