これは、私が作成している最初のJavaアプリケーション(Eclipse IDEを使用)であり、2番目のOracleベースのアプリです(私は何年もの間.NET / MSSQLの人です)。.NETで作成した最初のOracleアプリには問題がなく、同じサーバーに接続しようとしています。
- 私はインストールしました:
- 「Java2プラットフォーム、Enterprise Edition 1.4SDK」
- 'Java DB `10.5.3.0'-'Java(TM)6 Update 21
- 'Java(TM)SE開発キット6アップデート21
- 「OracleIRMクライアント」(11g)
- Oracle11gリリース2JDBCドライバー(ojdbc6.jar)
私のコードはとてもシンプルです。ここにあります:
OracleDataSource ods = new OracleDataSource();
ods.setURL("jdbc:oracle:oci:@");
ods.setUser("username");
ods.setPassword("password");
ods.setServerName("servername");
ods.setPortNumber(1549);
ods.setServiceName("foo.myservice.com");
Connection conn = ods.getConnection();
私は以下の例外を取得します:
スレッド"main"の例外java.sql.SQLException:ORA-12560:TNS:プロトコルアダプタエラー
at oracle.jdbc.driver.T2CConnection.checkError(T2CConnection.java:737)
at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:401)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:531)
at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:148)
at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:53)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503)
at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:280)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:207)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:157)
at Select.GetScalar(Select.java:47)
at Job.Run(Job.java:20)
at Main.main(Main.java:19)
私はこれからハックをグーグルで検索しました。「TNSエントリをtnsnames.oraファイルに追加しようとしました」。'## NAMES.DIRECTORY_PATH =(TNSNAMES、EZCONNECT)'をsqlnet.oraファイルに追加してみました。私は他のさまざまなことを試しましたが、何も機能していません。
誰かがこれを以前に経験したことがあり、これを機能させる方法について何か手がかりがありますか?間違ったバージョンを使用していますか?サーバーはリモートです(Oracleサーバーはローカルにインストールされていません。クライアントのみがインストールされています)。たぶん私は間違ったバージョンのJavaSDKまたは間違ったバージョンのJDBC.jarファイルを持っていますか?Oracleに接続して、1つの簡単なクエリを実行するだけです。助けてくれてありがとう。