64位Oracle 11g R2的用戶端串連時報ORA-01019錯誤

來源:互聯網
上載者:User

在Win8企業版64位環境下,串連Oracle11g 服務端,搞了整整兩天,特將過程分享出來,供有需要的同學參考。

本機環境:

1、服務端:Oracle 11g R2 64位,安裝路徑E:/Org12

官方下載:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

2、用戶端:

(1)Instant Client ,輕量級,安裝路徑E:/Oracle11/client
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

(2)32-bit Oracle Data Access Components (ODAC) with Oracle Developer Tools for Visual Studio,安裝路徑E:/Org12/Product/11.2.0/client_1

http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html?ssSourceSiteId=otncn 

 

用用戶端三種工具去連Oracle服務端,結果:

第一種:Oracle內建的SQL Deveploer工具,基本沒問題!也不需要什麼用戶端配置。

http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html

第二種,用PL/SQL 9.0去連,需要copy服務端的XX\app\oracle\product\11.2.0\server\network\ADMIN\tnsnames.ORA檔案到用戶端(1)的network\ADMIN下,並刪除不需要的部分,保留內容大致如下:

ORCL =  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))    )    (CONNECT_DATA =       (SID =ORCL)    )  )

並用如下方式啟動PL/SQL

set Path=E:/Oracle11/clientrem 服務端路徑: E:\Org12\product\11.2.0\dbhome_1\BINset ORACLE_HOME=E:/Oracle11/clientset TNS_ADMIN=E:/Oracle11/clientset NLS_LANG=AMERICAN_AMERICA.AL32UTF8start E:/Oracle11/PL_SQL/plsqldev.exe

此時OK。

第三種,用第三方工具,OracleSQLHandle,內建JRE,很小,也很好用,網上搜一下。

我們公司開發的一個工具組件去連服務端,問題來了,先是報下面這個錯

 

懷疑是環境變數問題,多次嘗試後,加入用戶端路徑到Path中,報下面錯:

 

懷疑是字元集,用BAT修改為與Oracle服務端一致的編碼,錯誤改為:

這個問題網上尋找很久,嘗試的解決方案很多,但最終我的方案是:

1、刪除Oracle服務端;方法可以在網上搜,要刪乾淨;

2、刪除ODAC及所有組件;

3、保留Instant Client及其安裝目錄,主要是network\ADMIN\tnsnames.ORA

4、重新安裝Oracle服務端;

此時接所有用戶端串連完全正常!

小結:

1、剛開始懷疑是64位Oracle驅動路徑(x86)引起的bug,最後得出的結論是同一台機器,最好不要裝兩個Oracle用戶端 ,服務端+用戶端也不推薦,會引起一些潛在的問題,原因不明。

2、64位的Oracle服務端+32位的Oracle用戶端,會有一些潛在的問題,最好32位對32位。

3、安裝Oracle 11g R2 EX時,會在環境變數Path前面加上“e:\Org12\app\oracle\product\11.2.0\server\bin;;”,注意是兩個分號,須刪除一個;這個不知道是安裝程式的BUG?

 

參考的一些資源:

http://blogs.msdn.com/b/apgcdsd/archive/2011/05/25/linked-server-ssis-oracle.aspx

http://social.msdn.microsoft.com/Forums/en/sqldataaccess/thread/96048ef5-ef9e-4b1c-b8a3-5d7b91d55adb

補充:後來嘗試,還有一種解決方案:直接官方下載並安裝Oracle 32位用戶端即可。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.