2012-03-01 61 views
4

我的團隊正在嘗試從ORACLE 10g遷移到11g。這些都是我們的系統規格:10.2g到11.2g和Microsoft ODBC for Oracle問題

我們目前的生產服務器:

ORACLE 10.2g 
ORACLE Application Express(3.0) 
Apache 
Red Hat 64 bit 

我們(在生產中目前還沒有)新服務器:

ORACLE 11.2g 
ORACLE Application Express (4.1.1) 
ORACLE HTTP Server 
Red Hat 64 bit 

我們已成功地安裝11g中,安裝APEX 4.1和應用最近的補丁集。 我們遷移的唯一原因是我們的業務用戶可以訪問Crystal Reports XI,MS Access/Excel 2003,它們用來連接我們的數據庫。典型的用戶具有Window XP SP 3(32位)操作系統。目前,我們使用Microsoft ODBC for Oracle驅動程序(版本2.575.1132.00)連接到我們的10g數據庫,並且沒有任何問題。但是,當我們嘗試連接到11g時,我們不斷得到ORA-03113:通信通道錯誤的文件結束。在ORACLE SQL Developer中,我們可以使用「基本」連接連接到我們的11g實例。我也使用了「TNS」條目,並且效果很好。

我認爲,企業用戶通過安裝ORACLE 3.1.3.6發現這是用於其他Oracle數據庫獲得的微軟ODBC對Oracle驅動程序。他們也有Oracle客戶端7.3.3,我可以看到ODBM數據源管理屏幕中提到的Oracle73(2.00.03.01)。

我們已經嘗試google搜索結果和之後的各種測試,我們得出的結論是,這是一個ODBC驅動程序的問題。據我們瞭解,ORACLE SQL Developer使用不同的基於JAVA的驅動程序進行連接,因此它不使用Microsoft版本。

有人可以證實,我們的理解是正確的大約有是與微軟ODBC兼容問題的Oracle驅動程序(版本2.575.1132.00)和11.2克? 如果是這樣,你可以推薦一個兼容的驅動程序來使用Crystal和Access/Excel來提取數據?

我認爲,企業用戶通過安裝ORACLE 3.1.3.6發現這是用於其他Oracle數據庫獲得的微軟ODBC對Oracle驅動程序。他們也有Oracle客戶端7.3.3,我可以看到ODBM數據源管理屏幕中提到的Oracle73(2.00.03.01)。

回答

3

用於Oracle的Microsoft ODBC驅動程序使用OCI(Oracle調用接口)API的古老版本編寫,該版本在Oracle 8發佈時已過時(已超過十年和11個主要版本)。微軟選擇解除對這個驅動程序的支持,而不是將其移植到新版本的OCI API上。 Oracle 7客戶端可以連接到Oracle 10.2數據庫,但Oracle不支持Oracle 7客戶端和Oracle 11.2數據庫之間的連接。

您需要升級安裝在業務用戶計算機上的Oracle客戶端的版本,並且您需要使用適用於該版本Oracle客戶端的最新版本的Oracle ODBC驅動程序。假設您安裝了Oracle客戶端的11.2版本(如果用戶仍然需要連接到不支持來自11.2客戶端的舊數據庫),那麼不要升級到11.2客戶端的唯一原因是,您'd想要使用最新版本的11.2.0.x Oracle ODBC driver。 Oracle客戶機安裝應該也可以選擇安裝Oracle ODBC驅動程序的一個版本 - 這也應該足夠了。

+0

我認爲業務用戶通過安裝用於其他Oracle數據庫的ORACLE Discover 3.1.3.6獲得了Microsoft ODBC for Oracle驅動程序。他們也有Oracle客戶端7.3.3,我可以看到ODBM數據源管理屏幕中提到的Oracle73(2.00.03.01)。 – 2012-03-01 20:51:17

+0

@AlistairLaing - 如果他們有一箇舊的Oracle 7客戶端,那麼肯定需要升級Oracle客戶端的版本才能連接到11.2數據庫。我建議在每個人的機器上安裝11.2客戶端,儘管10.2客戶端也是足夠的(假設它仍然可用)。 – 2012-03-01 20:54:20

+0

所以我正確地認爲它是與11g的Oracle驅動程序一起使用Microsoft ODBC的兼容性。我們幸運的是,這個驅動程序已經與10g工作?所以我正確地認爲ORACLE客戶端只包含ODBC驅動程序? – 2012-03-01 20:59:58