顯示廣告
隱藏 ✕
看板 Book11
作者 book11 (不可失憶)
標題 [SSIS]Script Task OleDb connection
時間 2012年07月17日 Tue. PM 06:04:21


系統上線前甚麼問題都跑出來了!!
簡單的說
大前提希望系統只有一個connection
第二就是之前只有找到script task 直接設定或抓取ADO.NET Sqlconnetction的做法
所以之前把所有連結都換成ADO.NET

結果!!今天突然發現
要是用[執行SQL工作] 連結ADO.NET時,傳回只能用XML吃....
為了我的變數,勢必要使用OLEDB Connection

碰巧發現script task連結DB時竟然一直顯示 [使用者登入錯誤]
直接在task裡設定connection string時可以正常查詢
可是抓取系統連接字串就失敗了....

最後查到script task 抓取系統 oleDB 連接字串的方式

1.參考加入[Microsoft.SqlServer.Dts.Runtime.Wrapper]
專案->加入參考->加入~~

2.使用以下代碼設定連線資訊
        Dim cm As ConnectionManager
        Dim cmParam As Wrapper.IDTSConnectionManagerDatabaseParameters90
        Dim conn As OleDb.OleDbConnection
        Dim ocmd As IDbCommand
        cm = Dts.Connections("YOUR CONNECTION")
        cmParam = CType(cm.InnerObject, Wrapper.IDTSConnectionManagerDatabaseParameters90)
        conn = CType(cmParam.GetConnectionForSchema(), OleDb.OleDbConnection)

以上...還好搞定了><

--
※ 作者: book11 時間: 2012-07-17 18:04:21
※ 看板: Book11 文章推薦值: 0 目前人氣: 0 累積人氣: 260 
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇