2016-08-24 168 views
0

我們通過excel運行VBA腳本來更新Siebel數據庫,它在x86操作系統中完美工作,但在x64中完美工作。顯然,所有的文件都是x86。強制Excel(x86)VBA代碼連接到Win7 x64上的ODBC(x86)

該代碼會引發錯誤: [4096]發生Oracle數據庫錯誤。可能數據庫名稱無效。

正確的連接是絕對正確引用(其加載從CFG文件設置爲實際的Siebel的applcation,其正常工作)

的ODBC連接顯示在odbcad32應用(x86版本不是64)

通過Siebel我們可以強制它使用參數運行x86,難道我們可以強制excel連接到x86連接嗎?

+0

'顯然所有的文件都是x86.'顯然。 –

+0

如果你有一個64位的ODBC連接,我會刪除它。也許重命名它,但更好地刪除它。 32位Excel必須與32位ODBC交談,並且事實告訴64位在客戶端不會爲你購買任何東西。 – Hambone

+0

爲了安全起見,我已經完全刪除了所有的64位連接,甚至刪除了它的註冊表值,仍然不會取代32位的連接 –

回答

0

您將不得不使用32位版本的Excel。並有數據庫的32位驅動程序。我在Excel中使用一個類似的VB宏,這仍然適用於我。

幾年前,我基於這個Sel2xl.xls文件對我的自定義Excel表單進行了修改。它通過DSN連接到ODBC,它仍然可以工作到日期。嘗試並在您的實例上進行測試,您可以看到宏代碼是否有效。

+0

這就是問題所在,我絕對使用32位excel和32位驅動程序。你正在運行一個64位的操作系統? –

+0

是@ daniel.henley,我在Win7-64bit。但是我安裝了32位excel和oracle驅動程序,因爲siebel.exe和tools.exe都是32位的。我的宏工作正常。 –

+0

我絕對使用相同的軟件。您是否在爲dsn使用Siebel Oracle80驅動程序?我的DSN當前被指向fin2000 \ bin \ seor815.dll,並且它對於工具和siebel連接工作正常,只是不在excel中。 您是否已通過加載cfg文件連接到siebel數據庫?其文檔爲[link](https://www.google.com.au/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0ahUKEwi-3rG-nNvOAhWQq5QKHc3rC44QFggoMAI&url=https%3A%2F%2Fdocs .oracle.com%2Fcd%2FE14004_01%2Fbooks%2FPDF%2FOIRef.pdf&usg = AFQjCNE2G3AuItagZm6e1i7MFyI_eaRSbw&sig2 = BIodgnDBEpZ2BCtw3wBo3Q) –

0

我知道我對派對遲了幾個月,但是基於對上述答案的評論,它看起來像您試圖使用隨Siebel打包的自定義DataDirect Oracle驅動程序。您不能在Siebel軟件之外使用該軟件,因爲它需要只有Siebel軟件才能提供的許可證密鑰。使用普通的舊Oracle ODBC驅動程序,使用自己的DSN嘗試它。