我的问题如下:
我正在尝试使用来自 DB1 的数据创建一个全局临时表,然后在 DB2 中执行的查询中使用该临时表,然后将结果导入到 DB2 上的新表中。由于查询有点复杂,一个简单的合并连接不会做,因为我需要转换数据并根据两个数据库的数据添加一个额外的列 (dense_rank)。根据我的一位同事的说法,这应该可以在 SSIS 中完成。
我想在来自 DB2 的连接上执行的简化查询:
Select db2.a,db2.b,db2.c,db1.c, db1.d,
DENSE_RANK() OVER (PARTITION BY db2.a order by db1.c asc) as FinalRank
from DB2.table as db2
left join ##globaltemp as db1 on db2.a=db1.a
Run Code Online (Sandbox Code Playgroud)
经过大量的谷歌搜索和不同的尝试后,DB2 源连接将找不到我在 DB1 中创建的临时表 (##globaltemp)。
这样的操作甚至可能吗?
tldr:是否可以在 SSIS 会话中创建一个全局临时表并从中提取数据,而不管数据库是什么?