none
SSIS SQL Command With Parameter RRS feed

  • 問題

  • 你好

    我想知道有什麼方法可以把ssis package variable 放進 data flow task 中的 oledb data source-> data access mode 中的 sql command 入面?
    還是如果我想用 variable 我一定要使用 expression?

    thanks in advance.
    Chi
    2009年4月28日 上午 10:47

解答

  • 你可以在資料存取模式設定使用 SQL 語法,然後用類似以下的語法去處理

    SELECT *
    FROM dbo.Item_Master_Table
    WHERE part_id = ?

    設定好 SQL 好,再按下旁邊的餐數按鈕,指定參數和變數的對應就可以了
    • 已標示為解答 ChiYau 2009年4月30日 上午 11:29
    2009年4月29日 下午 02:39

所有回覆

  • 你可以在資料存取模式設定使用 SQL 語法,然後用類似以下的語法去處理

    SELECT *
    FROM dbo.Item_Master_Table
    WHERE part_id = ?

    設定好 SQL 好,再按下旁邊的餐數按鈕,指定參數和變數的對應就可以了
    • 已標示為解答 ChiYau 2009年4月30日 上午 11:29
    2009年4月29日 下午 02:39
  • F16 你好

    我太stupid 了


    SELECT *
    FROM dbo.Item_Master_Table
    WHERE part_id = ?

    我按了旁邊的參數按鈕之後 填了"parameters" = "parameter0"  "variables" = "user:part_id"

    當我按preview 時我有以下的alert
    [There was an error displaying the Preview

    No value given for one or more required parameters]

    但是我 已填了default value 的

    是不是用了parameter 後便不可以preview 的?

    謝謝你的幫忙

    thanks a lot

    Chi
    2009年4月29日 下午 03:32
  • 這個部份我們會轉個彎透過 "建立查詢" 的部分查看,提供給您參考看看囉。
    2009年4月30日 上午 11:11
  • F16 你好

    我太stupid 了
    不好意思 還有問題:
    <<透過 "建立查詢" 的部分查看>>
    在query builder 裡我只能看到
    SELECT field1, field2, field3...etc
    FROM dbo.Item_Master_Table
    WHERE part_id = ?

    ? 是不是要自行 replace 這個parameter 的??

    謝謝你

    Chi
    2009年4月30日 上午 11:28
  • 可能我沒有表達清楚,或者該這樣說,當你在資料來源使用 SQL 命令又有配合 Parameter 的時候,這時候就無法使用預覽了,因此有些時候如果我們要測試,會透過 "建立查詢" 的功能,在裡面去測試指令,當你案下 run 的圖式的時候,他會彈出一個視窗要你輸入 Parameter 的值,至少可以先用這樣的方式來測試 SQL 沒有錯誤。

    題外話,稍稍抱怨一點,當你連接 SQL Server 的時候配合 Parameter 至少還是可以 work 的,只是測試或者是預覽的時候沒有辦法那麼直接,但如果要是配合其他資料庫,可能就沒有辦法那麼順利了,我之前為了連 Oracle,希望可以使用 Parameter,浪費了好久的時間換過各種方式和 Driver 都沒有一種是可以的。
    2009年4月30日 下午 02:25
  • 謝謝你 F16

    明白了

    thanks very much for your explaination.

    Chi
    2009年4月30日 下午 02:48