2009-11-05 23 views
0

我已經設法將Windows 64位服務器中的SQL Server 2005與ORACLE數據庫連接起來。 (感謝Jeyong園先生:http://knol.google.com/k/jeyong-park/accessing-oracle-data-source-from-64bit/3vywlm4f31xae/12在Windows 64位運行SSIS與ORACLE數據源問題的問題

的問題是: 在SSIS當我用Oracle作爲一個OLE DB數據源並預覽數據,但它的作品,當我運行包時,OLE DB數據源任務失敗並顯示以下消息:

[OLE DB Source [10882]]錯誤:SSIS錯誤代碼DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。
對連接管理器「PROD_cm」的AcquireConnection方法調用失敗,錯誤代碼爲0xC0202009。
在此之前可能會發布錯誤消息,並提供更多關於爲什麼AcquireConnection方法調用失敗的信息。

由於我可以預覽數據,我認爲連接沒有問題。

請幫助...

+0

由我自己解決,問題是與端口有關,顯然安裝客戶端的人輸入了錯誤的端口號,而不是默認端口(2030)。對不起大家 – P10

回答

0

當我在一年前遇到這個問題與SQL Server 2008在Windows Server 2003 64位的問題是由不正確的驅動程序引起的。你連接的Oracle數據庫的版本是什麼?如果連接到8g或9i Oracle服務器,則需要使用9i Oracle驅動程序。如果您連接到10g或更好的服務器,那麼您可以使用11i驅動程序。

您是否曾嘗試以SQL Server代理服務帳戶的身份登錄服務器時運行SSIS軟件包,或者您是否只在工作站上測試過該軟件?如果它在你的工作站上工作,但作爲服務帳戶登錄到服務器時不起作用,那麼這個尖叫驅動程序問題給我。

0

另一個可能的問題是您的tnsnames.ora文件可能沒有正確設置。文件內容應該與9.2驅動程序的下面的代碼類似。請注意,您需要更換,並使用適當的值。

# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora 
# Generated by Oracle configuration tools. 


<SERVER_NAME> = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = <IP_ADDRESS>)(PORT = <PORT_NUMBER>)) 
    ) 
    (CONNECT_DATA = 
     (SID = <SERVER_NAME> 
     (SERVER = DEDICATED) 
    ) 
) 
0

另一個可能的解決方案。如果您可以使鏈接服務器連接正常工作,並且由於某種原因無法讓數據流正常工作,那麼您可以執行鏈接服務器查詢來下拉數據。我記得當我們無法讓MYSQL驅動程序與SQL Server 2008的CTP一起工作時,這樣做大約6個月。最終我們找到了正確的解決方案,但是這幫助我們在短期內啓動並運行。

0

下列之一的應工作:

  1. 檢查tnsnames.ora文件 - 它應該有詳細的連接到Oracle DB帽子你想通過你的包進行連接。

  2. 檢查您嘗試連接的Oracle DB是否正常工作。我花了兩天左右的時間找到了錯誤的根本原因,後來才知道Oracle數據庫已關閉。

  3. 檢查配置管理器/連接字符串中的passowrds是否完好無損。

  4. 如果您一直在包裝上長時間工作,請嘗試關閉並再次打開。