2017-02-16 172 views
0

您好我正在嘗試使用通過Excel直接數據庫連接使用SQL開發人員編寫的一些SQL代碼。不幸的是,我每次嘗試收到的錯誤消息是:無法創建與Oracle服務器的直接連接(Excel)

「試圖加載Oracle客戶端庫時,拋出BadImageFormatException。在安裝了32位Oracle客戶端組件的64位模式下運行時,會發生此問題。

我在我的電腦上辛苦安裝了Oracle 64位客戶端,所以至少應該工作。不幸的是,我花了兩天的時間在互聯網上查找解決方案,但沒有成功。有誰知道我可以如何強制Excel使用我的64位客戶端或以其他方式避免此錯誤?

更新: 儘管我盡了最大的努力,但問題仍在我的TNSNAMES文件中,因爲我無法使用SQL Plus進行連接。以下是我的連接字符串的編輯版本。省略的細節是正確的,因爲它們與我用於SQL Developer的相同。我錯過了什麼嗎?

DB1 = 
(DESCRIPTION = 
(ADDRESS_LIST = 
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521)) 
) 
(CONNECT_DATA = (SID = SID1)(SERVER = DEDICATED) 
) 
) 

DB2 = 
(DESCRIPTION = 
(ADDRESS_LIST = 
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521)) 
) 
(CONNECT_DATA = (SID = SID2)(SERVER = DEDICATED) 
) 
) 
+0

大概你會得到一個類似的問題,運行64位Oracle客戶端組件的32位Excel;也許你是這麼做的,錯誤信息太泛化了? –

+0

[可能的重複](http://stackoverflow.com/q/24104210/266304) –

回答

0

顯然,它在您的機器設置或配置中很小。

我建議你看看你的機器的PATH環境變量。它可能指的是舊版本的Oracle服務器Oracle客戶端組件

確保你知道你用什麼來從Excel,JDBC或ODBC訪問Oracle?

它總是讓我們瘋狂的小細節。

+0

我手動改變了PATH環境變量,將它指向我的64位客戶端,所以我相當確信這不是問題。我正在使用ODBC。 – Raven

+0

您是否在管理工具中檢查了您的ODBC數據源設置?驗證您是否可以通過ODBC連接到Oracle服務器。 –

+0

我努力通過ODBC數據源菜單訪問它。我添加了數據源以及用於通過SQL Developer連接的連接細節(必須在流程中編寫我自己的tnsnames.ora文件)。但我得到一個「ORA-12154:TNS:無法解析指定的連接標識符」錯誤。 我可以通過SQL Developer連接到數據庫,所以在Excel中可以使用這種情況嗎? – Raven

0

您是否看到過這些答案?

SQL Server 2012 connectivity to Oracle

Getting MS Office 2013 (32 bit) Excel and Access to connect to Oracle database when both 32 and 64 clients are installed

,我發現這個鏈接,太複雜,一切都複製到了答案:

Connect To Oracle Via ODBC Driver

而且你可以嘗試使用連接到Oracle使用ODBC ODAC或Oracle客戶端,從Oracle網站下載ODAC112030_x64.zip。這裏有一個關於如何安裝它的鏈接SETTING UP AN ORACLE ODBC DRIVER AND DATA SOURCE

+0

當我在zip文件中找到可執行文件時,我幾乎爲喜悅而哭泣。我一直試圖從管理員工具建立數據連接,但我仍然收到「ORA-12154:TNS:無法解析指定的連接標識符」錯誤。我看不到我的TNSNAMES.ORA存在問題,並且我知道詳細信息是正確的,因爲我可以通過JDBC通過SQL Developer進行連接。 – Raven

相關問題