我正在創建一個 SSIS 包,它有兩個變數,這些變數將值分配給另一個 SQL 命令變數。資料源是 ODBC 連接器,目標是 OLEDB 連接器。
變數名稱:
- vPurchaseType(多個值)
- vTransactionDate(單值)
- vPSourceQuery(接收其他兩個變數的SQL陳述句)
一個變數是一行,這個變數正在作業。另一個變數是將在IN子句中攝取的多個值。但是我無法在這個值中傳遞多個值,我已經嘗試過Single row,Full result set但也不起作用。
第一個變數結果(vPurchaseType):
查詢示例:
SELECT Head FROM TableB
| 頭 |
|---|
| 12 |
| 9C |
| 機管局 |
第二個變數必須在單引號之間才能作業。
第二個變數結果(vTransactionDate):
查詢示例:
SELECT Head FROM TableA
| 頭 |
|---|
| 2020-01-01 |
第三個變數:
SELECT
ColA,
ColB,
ColC,
ColD
FROM TableC
WHERE ColC >= '" @[User::vTransactionDate] "'
AND ColD IN (" @[User::vPurchaseType] ")
我的包裹:

uj5u.com熱心網友回復:
基本上,我正在使用MyTecBits - SQL Server: Concatenate Multiple Rows Into Single String 中的這篇文章的解決方案,并將其應用于我的變數vPurchaseType,并將值作為Single Row. 但是我不得不通過使用該函式CAST AS VARCHAR (4000)來接受我的列中的所有資料來稍微更改查詢。
之后,我更改了我的Data Flow,并從OLEDB Destination到進行了交換ADO Net Destination,我還必須將選項標記ValidadeExternalMetadata為False,僅此而已!現在正在作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/397835.html
標籤:sql-server 查询语句 姐姐
上一篇:當資料庫兼容級別設定為SQLServer2008時,如何在SSISOLEDB源SQL命令中使用STRING_SPLIT?
