Sql server SQL从表#temp连接AS400
我想在sql和as400之间建立一个动态连接,类型如下:Sql server SQL从表#temp连接AS400,sql-server,db2,ibm-midrange,Sql Server,Db2,Ibm Midrange,我想在sql和as400之间建立一个动态连接,类型如下: SELECT * FROM OPENQUERY(AS400_link,'SELECT AS400.CAMPO1 ,AS400.CAMPO2 ,AS400.CAMPO3 ,AS400.CAMPO4 FROM AS400
SELECT * FROM OPENQUERY(AS400_link,'SELECT
AS400.CAMPO1
,AS400.CAMPO2
,AS400.CAMPO3
,AS400.CAMPO4
FROM AS400_FILE AS AS400
INNERT JOIN #TAB_TEMP AS TEMP ON
TEMP.CAMPO1 = AS400.CAMPO1
')
DROP TABLE #TAB_TEMP
如果我运行它:
链接服务器“AS400_link”的OLE DB提供程序“IBMDASQL”返回消息“SQL0113:Nome#TAB_TEMP non-approvisito”。
原因…:#制表符#温度
一些解决方案?
谢谢你我想你要找的更像
SELECT * FROM OPENQUERY(AS400_link,'SELECT
AS400.CAMPO1
,AS400.CAMPO2
,AS400.CAMPO3
,AS400.CAMPO4
FROM AS400_FILE') AS AS400
INNER JOIN #TAB_TEMP AS TEMP ON
TEMP.CAMPO1 = AS400.CAMPO1
不要指望它能很好地运行。你不能像我想象的那样访问opnequeryas中的临时表……谢谢,所以我知道它是有效的。我的问题是过滤as400上的记录,因为有这么多。我希望我解释一下,你的远程服务器无法神奇地伸出手来插入你的本地临时表;要加入远程表和本地表,你必须将远程表发送到本地计算机,或者以某种方式将筛选条件显式地作为查询的一部分发送到远程服务器,而不是作为对本地表(无法远程访问)的引用。