解決PL/SQL Dev連接Oracle彈出空白提示框


第一次安裝Oracle,裝在虛擬機中,用PL/SQL Dev連接遠程數據庫的時候老是彈出空白提示框,網上找了很久,解決方法也很多,可是就是沒法解決我這種情況的。

沒辦法,只能自己研究,經過大概一天時間吧,還是搞好了,寫個總結。

 

出現這種問題,解決方法大概有這幾種:

 

1.權限不夠,導致彈出空吧提示框。(直接上鏈接)

http://jingyan.baidu.com/article/066074d6760959c3c21cb0d6.html

就PL/SQL圖標上點右鍵---屬性---兼容性--管理員身份運行此程序的勾打上,即可

 

2.環境變量沒設對。

 

①在安裝oracle服務器的機器上搜索下列文件,
oci.dll
ocijdbc10.dll(其中10代表oracle版本,若是其他版本,則需要修改之,例如改成ocijdbc9.dll或者ocijdbc11.dll)
ociw32.dll
orannzsbb10.dll(其中10代表oracle服務器版本,若是其他版本,則需要修改之,例如改成orannzsbb9.dll或者orannzsbb11.dll)
oraocci10.dll(其中10代表oracle服務器版本,若是其他版本,則需要修改之,例如改成oraocci9.dll或者oraocci11.dll)
oraociei10.dll(可能服務器沒有,如果沒有,就不用找了)
sqlnet.ora,tnsnames.ora,classes12.jar,ojdbc14.jar
 
把這些找到的文件復制放到一個文件夾,如 oraclient,將此文件夾復制到客戶端機器上。如放置路徑為 D:\oraclient
 
②配置tnsnames.ora,修改其中的數據庫連接串。
 oracledata =
 
   (DESCRIPTION =
 
            (ADDRESS_LIST =
 
              (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.58)(PORT = 1521))
 
            ) 
 
            (CONNECT_DATA =
 
              (SERVICE_NAME = oracledata)
 
            )
 
        )
 其中,oracledata是要連接的服務名;HOST = 192.168.0.58,是服務器IP地址;PORT = 1521是端口號。
 
③添加第一個環境變量,名為TNS_ADMIN,值為tnsnames.ora文件所在路徑(如:D:\oraclient,特別是重裝后或其它操作,忘了TNS_ADMIN變量,plsql登陸就會報無法解析指定的連接標識符),這是為了能夠
 
找到上面說的tnsnames.ora。這步是最重要的。
 
添加第二個環境變量(可有可無):
“NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,(AMERICAN_AMERICA.US7ASCII 是ASCII編碼類型,其它類型可自己到服務器看一下或網上查找一下)(本步驟暫時要做對,如果編碼不對,會產生亂碼)
 
④下載並安裝 PL  SQL Developer配置應用:
打開 PL  SQL Developer,登入界面點取消,進入后選擇菜單欄 tools->preferences->connection
設置:
Oracle Home=D:\oracleclient
OCI library=D:\oracleclient\oci.dll
 
⑤再次打開plsql則會在database中有oracledata 選項輸入用戶名密碼就可以登陸。
 

這幾個系統變量很重要,如果設置的不對,PL/SQL讀取不到“數據庫”和“連接為”。 

參考:http://www.linuxidc.com/Linux/2014-01/94787.htm

 

3.修改時區(多見於綠色版Oracle或者PL/SQL)

 

修改時區     

需要文件(前半部分路勁可能不同,以自己的安裝路徑為准):
a:D:\oracle\product\10.2.0\db_1\WJLMGQS-PC_WJLMGQS\sysman\config\emd.properties
b:D:\oracle\product\10.2.0\db_1\sysman\config\emd.properties
c:D:\oracle\product\10.2.0\db_1\sysman\admin\supportedtzs.lst

具體操作:
a:打開兩個emd.properties文件,定位到文件的最后一行,發現agentTZRegion=GMT
b:打開supportedtzs.lst文件,在其中找到自己定位的時區然后選取參數,
如:agentTZRegion=Asia/Shanghai

 

4.windows的防火牆所致[關閉防火牆測試即可]

5.還可能是監聽器服務無法啟動,那么需要打開Net Configuration Assistant修復,或者新建監聽器服務。

 

我自己嘗試了上面所有方法,可還是遇到提示空白窗,真是蛋疼。。最后想,可能是oraclient里面文件不全,通常都應該文件不全或者版本不對導致的。

結果按照網上另一種方法[其實同方法②,只不過到Oracle官網上下載精簡的客戶端文件instantclient-basic-nt-11.2.0.4.0.zip而已],我把解壓的文件

覆蓋到oraclient文件中,再次連接,終於成功了!耶~ 呵呵,希望能幫助到所有遇到問題的朋友~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM