无法确定元数据,因为语句“插入”

2023-12-28

我有一个 select 语句,其中创建了 2 个临时表,并在从这些临时表中获取数据之前插入 select,在它们之间创建联接。最终的选择就是我想要的元数据。在 ssms 中它运行良好,在 ssis 中我不知道为什么它会抛出该错误。查询是这样的:

CREATE TABLE #Per (PerID bigint NOT NULL......)
CREATE TABLE #Pre (PerID bigint NOT NULL, IsWorking.......)
INSERT INTO #Per SELECT .... FROM .....
INSERT INTO #Pre SELECT .... FROM .....
SELECT * FROM #Per per LEFT JOIN #Pre pre ON per.PerID = pre.PerID

我已经测试了所有语句以确保它们工作并且查询作为一个整体并且它返回了数据,但是 ssis 抛出了错误:

The metadata could not be determined because statement 'INSERT INTO #Per SELECT ...... uses a temp table.".
Error at project_name [646]: Unable to retrieve column information from the data source. Make sure your target table in the database is available.

尝试使用表变量来代替:

DECLARE @Per TABLE (PerID bigint NOT NULL......)
DECLARE @Pre TABLE (PerID bigint NOT NULL, IsWorking.......)
INSERT INTO @Per SELECT .... FROM .....
INSERT INTO @Pre SELECT .... FROM .....
SELECT * FROM @Per per LEFT JOIN @Pre pre ON per.PerID = pre.PerID

应该可以正常工作

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法确定元数据,因为语句“插入” 的相关文章

随机推荐