Sql server 2008 如何找出SQL Server上OLE提供程序权限的原因?
我在64位Windows 7上安装了64位Office 2010。windows 7上也安装了SQL Server 2008 然后我尝试使用Microsoft.ACE.OLEDB.12.0通过T-SQL访问excel文件中的数据 我在SQL Server Mgmt Studio中使用以下类型的查询尝试T-SQL:Sql server 2008 如何找出SQL Server上OLE提供程序权限的原因?,sql-server-2008,tsql,oledb,openrowset,Sql Server 2008,Tsql,Oledb,Openrowset,我在64位Windows 7上安装了64位Office 2010。windows 7上也安装了SQL Server 2008 然后我尝试使用Microsoft.ACE.OLEDB.12.0通过T-SQL访问excel文件中的数据 我在SQL Server Mgmt Studio中使用以下类型的查询尝试T-SQL: SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\Temp\book1.xlsx
SELECT *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\Temp\book1.xlsx;', 'SELECT * FROM [Sheet1$]')
如果我使用“以管理员身份运行”启动SQL Server Mgmt Studio,就可以了。我可以从Excel文件访问/插入数据
如果我直接使用我的广告帐户启动Mgmt Studio,我将得到如下错误:
链接服务器null的OLE DB提供程序Microsoft.ACE.OLEDB.12.0返回消息未指定错误。
味精7303,16级,状态1,第1行
无法为链接服务器null初始化OLE DB提供程序Microsoft.ACE.OLEDB.12.0的数据源对象
但实际上,我的帐户也是一个管理员帐户,它位于本地管理员组和广告管理员组中
因为我需要在代码中像OpenRowSet一样运行T-SQL,所以不确定如何解决这个问题
看起来OpenRowSet仅适用于本地管理员运行MSSM
我试图从另一台计算机上运行MSSM,但得到了与上面相同的错误 尝试将Excel文件放在用户帐户可以访问的位置,而无需管理员权限
例如,您的用户文件夹将是一个更好的选择。在没有管理员权限的情况下运行时,Windows将限制对这些类型文件夹的访问。尝试将Excel文件放在用户帐户可以访问的位置,而不需要管理员权限
例如,您的用户文件夹将是一个更好的选择。在没有管理员权限的情况下运行时,Windows将限制对这些类型文件夹的访问。解决方法:以sa身份登录解决此问题。解决方法:以sa身份登录解决此问题