iT邦幫忙

0

SSRS 2019 連接 Oracle 11g 資料庫只能使用 OLEDB 嗎 ?

  • 分享至 

  • xImage

最近升級 SQL Server 2019 , 也安裝了 Oracle ODAC 32/64 bit driver , 發現 SSRS 2019 連接 Oracle 11gR2 資料庫時 , 只能使用 OLEDB 的連線方式 , 無法使用原本的 Oracle 原生 driver 的連線方式 , OLEDB 連線會有 2 個問題 :

  1. SSRS 2019 的 DataSet 不能使用註解 , 這個問題不大 , 就刪除註解吧 , 但程式就很難閱讀

  2. SSRS 2019 的 DataSet 的同一個 SQL 內不能使用 2 次同樣的參數名稱 , 例如 :
    select *
    from table1
    where org_id = :p_org_id
    union all
    select *
    from table2
    where org_id = :p_org_id

    會出現 ORA-01008: not all variables bound 的錯誤

    我找遍了 Goolge 大神 , 這個原因是 OLEDB 不能使用具名參數 , 所以必須將上述兩個 :p_org_id 改為問號 ? , 然後到 DataSet 的參數頁簽將問號 ? 再 bind 到原本的 :p_org_id 參數

    這樣實在很麻煩 , 而且在 SQL 寫了一堆問號當參數時在很爛 , 請問大家有沒有更好的解法呢 ?

    註 : 但如果 DataSet 的同一個 SQL 內的多個具名參數名稱不相同則無此問題

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答