Stored procedures 通过OPENDATASOURCE执行存储过程会抛出错误“;“OLE DB提供程序”;SQLCLI";“尚未注册”;
我试图使用OPENDATASOURCE将一些记录插入远程SQL Server数据库,然后执行一个存储过程。下面的insert语句非常有效:Stored procedures 通过OPENDATASOURCE执行存储过程会抛出错误“;“OLE DB提供程序”;SQLCLI";“尚未注册”;,stored-procedures,sql-server-2008-r2,Stored Procedures,Sql Server 2008 R2,我试图使用OPENDATASOURCE将一些记录插入远程SQL Server数据库,然后执行一个存储过程。下面的insert语句非常有效: INSERT OPENDATASOURCE('SQLNCLI','Server=MyServer;Database=TestDB;User Id=sa;Password=*****;').TestDB.dbo.MyTable (Col1, Col2, Col3)
INSERT OPENDATASOURCE('SQLNCLI','Server=MyServer;Database=TestDB;User Id=sa;Password=*****;').TestDB.dbo.MyTable
(Col1,
Col2,
Col3)
SELECT Col1,
Col2,
Col3
FROM AnotherTable
但是,当我执行以下存储过程时
EXEC OPENDATASOURCE('SQLCLI','Server=MyServer;Database=TestDB;User Id=sa;Password=*****;').TestDB.dbo.MyStoredProcedure
我有一个错误:
Msg 7403,16级,状态1,第26行
OLE DB提供程序“SQLCLI”尚未注册
本地SQL Server为2008 R2 64位,远程SQL Server为SQL Server 2012。有人知道问题出在哪里吗?我迫切需要一个解决办法
非常感谢您的评论。您的第一句话使用了
SQLNCLI
。第二个使用SQLCLI
。将第二个更改为使用SQLNCLI
Hi Nick,好样的!我整个晚上都不高兴!现在可以了。非常感谢你。