Pages

2008年6月20日

[ Database ] Oracle SQL Developer 與 ORACLE_HOME

執行 SQL Developer 的時候,ORACLE_HOME 有時候會產生「顯著」的影響。

在「使用 SQL Developer 將 MSSQL 2003 資料庫內容移轉到 Oracle DB 10gR2」(尚未完成)一文中,SQL Developer 會掛上 jtds v1.2.2 來連接 MSSQL Server。但是如果要執行 Capture the MSSQL Server 的時候,SQL Developer 先是出現了:
oracle.dbtools.metadata.persistence.persistenceException: Protocol Violation (中文版是「違反通訊協定」)
然後接著是
oracle.dbtools.metadata.persistence.persisitableObject.dolnInsert(persistableObject.java:238)
這就表示 SQL Developer 受到 ORACLE_HOME 的影響,抓錯了 JDBC 函式庫:SQL Developer 抓到了 Oracle DB 裡面的函式庫,而不是在設定中額外加掛的函式庫。
此時的作法,就是寫一隻批次檔,內容是
SET ORACLE_HOME=%CD% START SQLDEVELOPER.EXE
將 ORACLE_HOME 指定到 SQL Developer 的存在目錄,即可解決這個問題。

沒有留言: