“无法创建OLE DB提供程序的实例" Windows身份验证用户时出错 [英] "Cannot create an instance of OLE DB provider" error as Windows Authentication user
问题描述
我正在尝试从Oracle服务器上的MS SQL Server运行openrowset.
I am trying to run openrowset from MS SQL Server on an Oracle server.
当我执行以下命令时:
select * from
OPENROWSET('OraOLEDB.Oracle','srv';'user';'pass',
'select * from table')
发生以下错误
Msg 7302, Level 16, State 1, Line 1
Cannot create an instance of OLE DB provider "OraOLEDB.Oracle" for linked server "(null)".
谁能告诉我如何在OraOLEDB.Oracle
中使用openrowset?
Can anyone tell me how I can use openrowset with OraOLEDB.Oracle
?
我正在使用64位版本的MS SQL Server和Oracle OLEDB驱动程序.
I am using 64 bit version of MS SQL Server and Oracle OLEDB driver.
我已经在运行 Windows 7 x64 &的两台计算机上进行了尝试 Windows Server 2008 x64 和 MS SQL Server 2008 x64 .两者都显示相同的错误消息.
I have tried this on two machines running Windows 7 x64 & Windows Server 2008 x64 with MS SQL Server 2008 x64. Both showed the same error message.
推荐答案
在SQL Server企业管理器中,打开\Server Objects\Linked Servers\Providers
,右键单击OraOLEDB.Oracle
提供程序,选择属性并检查"Allow inprocess"
选项.重新创建链接的服务器,然后再次测试.
In SQL Server Enterprise Manager, open \Server Objects\Linked Servers\Providers
, right click on the OraOLEDB.Oracle
provider, select properties and check the "Allow inprocess"
option. Recreate your linked server and test again.
如果您无权访问SQL Server Management Studio,也可以执行以下查询:
You can also execute the following query if you don't have access to SQL Server Management Studio :
EXEC master.dbo.sp_MSset_oledb_prop N'OraOLEDB.Oracle', N'AllowInProcess', 1
这篇关于“无法创建OLE DB提供程序的实例" Windows身份验证用户时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!