第一次安裝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文件中,再次連接,終於成功了!耶~ 呵呵,希望能幫助到所有遇到問題的朋友~
找到你的安裝目錄,然後右擊plsqldev.exe選擇屬性-》兼容性=》勾選【以管理員身份運行此程序】Win7安裝的時候不要安裝在Program Files (x86)目錄下.
可以先檢查一下你的系統環境變量,在path裡面找是否有oracle的配置,我的是:E:\oracle\product\10.2.0\db_1\bin;這個沒問題之後,你再檢查看看你是不是手動配置了一個系統環境變量ORACLE_HOME(之前裝過oc4j,手動配置了oracle_home),將這個oracle_home系統變量刪掉保存。之後再重新啟動pl/sql,正常進入。