Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 在本地SQL server上的链接服务器上使用一个输入参数调用存储过程时出现问题_Sql Server 2008_Stored Procedures_Linked Server - Fatal编程技术网

Sql server 2008 在本地SQL server上的链接服务器上使用一个输入参数调用存储过程时出现问题

Sql server 2008 在本地SQL server上的链接服务器上使用一个输入参数调用存储过程时出现问题,sql-server-2008,stored-procedures,linked-server,Sql Server 2008,Stored Procedures,Linked Server,我正在设置一个SQL Server数据库,并获得了调用远程服务器中存储过程的权限,以帮助填充一些表 我在VisualStudio2008和SQLServerManagementStudio 2008中创建了一个链接服务器作为SSIS,这两个版本似乎不喜欢远程服务器SSIS包中的EXEC语句 因此,在成功设置了链接服务器之后,我尝试使用以下命令执行存储过程 Select * from OPENQUERY(LinkedServerName, 'exec storedProc paramValue'

我正在设置一个SQL Server数据库,并获得了调用远程服务器中存储过程的权限,以帮助填充一些表

我在VisualStudio2008和SQLServerManagementStudio 2008中创建了一个链接服务器作为SSIS,这两个版本似乎不喜欢远程服务器SSIS包中的EXEC语句

因此,在成功设置了链接服务器之后,我尝试使用以下命令执行存储过程

Select * from OPENQUERY(LinkedServerName, 'exec  storedProc paramValue')
但是得到以下错误

Msg 208,16级,状态1,程序storedProc,第49行 无效的对象名称“tmp_bl”

我已尝试选择我的链接服务器,但没有运气

有人知道exec语句应该是什么,这样我就可以把它放到本地SSIS包中吗

Msg 208, Level 16, State 1, Procedure storedProc, 
Line 49 Invalid object name '#tmp_bl'.
看起来您正在调用的SP会依次尝试访问名为tmp_bl的临时表

因此,当您尝试从design BIDS运行SSIS包时,它会验证包,并且找不到临时表;因此,错误

解决方案:首先使用SSMS/Sqlcmd创建临时表,然后尝试运行包;像

create table #tmp_tbl ....

如果您试图使用dtexec实用程序从命令提示符运行包,则将包控件的delayvalidation属性设置为实际执行temp表的控件;DataFlow task或SQLTask to True DelayValidation=True。在验证整个包时,将不会验证以查看临时表是否存在。

您能否解释为什么SSIS包不直接连接到第二台服务器?为什么它连接到第一个服务器,然后使用链接的服务器?storeproc sp中存在一些问题,请检查该sp中的“tmp_bl”文本。共享sp。嘿,伙计们,我已经解决了问题,这是我的MS SQL management Studio的一个配置问题-我需要进入LinkedServer->providers->OraOLEDB.oracle双击它,它会显示选项-选中“允许inprocess”选项。@user1417337:您可以为自己的问题写一个答案,这样您就可以帮助其他人解决类似的问题!但是为什么不直接从SSI连接到服务器呢?为什么要使用链接服务器呢?您的流程过于复杂。