1. 程式人生 > >解決PL/SQL Dev連線Oracle彈出空白提示框

解決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檔案中,再次連線,終於成功了!耶~ 呵呵,希望能幫助到所有遇到問題的朋友~