在 Api 中获取无效的对象名称 ##Temp 执行
Getting Invalid Object Name ##Temp in Api execute
我有这个 TEMPORAL TABLE CREATE
IF OBJECT_ID('tempdb..##TGJAE' ) IS NOT NULL
DROP TABLE ##TGJAE
SELECT
TT.RECID,
TT.TRANSDATE,
TT.DATAAREAID,
TT.SOURCERECID,
TT.SOURCECURRENCYCODE,
TT.TAXAMOUNT,
TT.TAXBASEAMOUNT,
TT.TAXBASEAMOUNTCUR,
TT.TAXAMOUNTCUR,
TT.TAXORIGIN,
TT.VOUCHER,
TT.TAXITEMGROUP,
TT.TAXCODE,
TT.SOURCEBASEAMOUNTCUR,
TT.SOURCETAXAMOUNTCUR,
TTGJAERIVA.TAXTRANSRELATIONSHIP,
TTGJAERIVA.GENERALJOURNALACCOUNTENTRY,
TTGJAERIVA.LEDGERDIMENSION,
GJAERIVA.TEXT,
GJAERIVA.LEDGERDIMENSION AS LEDGERDIMENSIONGAE,
GJAERIVA.POSTINGTYPE
INTO ##TGJAE
FROM TAXTRANS TT
INNER MERGE JOIN TAXTRANSGENERALJOURNALACCOUNTENTRY TTGJAERIVA ON TTGJAERIVA.TAXTRANS = TT.RECID
INNER MERGE JOIN GENERALJOURNALACCOUNTENTRY GJAERIVA ON TTGJAERIVA.GENERALJOURNALACCOUNTENTRY = GJAERIVA.RECID
AND GJAERIVA.POSTINGTYPE IN( 14,236,71)
WHERE
(TT.TAXORIGIN <> 11 AND TT.TRANSDATE BETWEEN dateadd(month, -18,'2017-09-01') AND '2017-09-30' ) OR (TT.TAXORIGIN = 11 AND TT.TRANSDATE BETWEEN '2017-09-01' AND '2017-09-30')
如果我在 Sql Management Studio 中执行它,它 运行 是正确的,但是如果我 运行 从 SSIS 打包到 api,它 returns
"Invalid object name '##TGJAE'.".
有人能告诉我我的包裹有什么问题吗?
要解决这个问题,我们需要保持连接打开。
为此,我们只需要转到每个 Task
或数据 Flow Task
的属性并设置 Delay Validation = true
我有这个 TEMPORAL TABLE CREATE
IF OBJECT_ID('tempdb..##TGJAE' ) IS NOT NULL
DROP TABLE ##TGJAE
SELECT
TT.RECID,
TT.TRANSDATE,
TT.DATAAREAID,
TT.SOURCERECID,
TT.SOURCECURRENCYCODE,
TT.TAXAMOUNT,
TT.TAXBASEAMOUNT,
TT.TAXBASEAMOUNTCUR,
TT.TAXAMOUNTCUR,
TT.TAXORIGIN,
TT.VOUCHER,
TT.TAXITEMGROUP,
TT.TAXCODE,
TT.SOURCEBASEAMOUNTCUR,
TT.SOURCETAXAMOUNTCUR,
TTGJAERIVA.TAXTRANSRELATIONSHIP,
TTGJAERIVA.GENERALJOURNALACCOUNTENTRY,
TTGJAERIVA.LEDGERDIMENSION,
GJAERIVA.TEXT,
GJAERIVA.LEDGERDIMENSION AS LEDGERDIMENSIONGAE,
GJAERIVA.POSTINGTYPE
INTO ##TGJAE
FROM TAXTRANS TT
INNER MERGE JOIN TAXTRANSGENERALJOURNALACCOUNTENTRY TTGJAERIVA ON TTGJAERIVA.TAXTRANS = TT.RECID
INNER MERGE JOIN GENERALJOURNALACCOUNTENTRY GJAERIVA ON TTGJAERIVA.GENERALJOURNALACCOUNTENTRY = GJAERIVA.RECID
AND GJAERIVA.POSTINGTYPE IN( 14,236,71)
WHERE
(TT.TAXORIGIN <> 11 AND TT.TRANSDATE BETWEEN dateadd(month, -18,'2017-09-01') AND '2017-09-30' ) OR (TT.TAXORIGIN = 11 AND TT.TRANSDATE BETWEEN '2017-09-01' AND '2017-09-30')
如果我在 Sql Management Studio 中执行它,它 运行 是正确的,但是如果我 运行 从 SSIS 打包到 api,它 returns
"Invalid object name '##TGJAE'.".
有人能告诉我我的包裹有什么问题吗?
要解决这个问题,我们需要保持连接打开。
为此,我们只需要转到每个 Task
或数据 Flow Task
的属性并设置 Delay Validation = true