Это моё первое приложение на Java, которое я создаю (используя Eclipse IDE), и второе приложение на базе Oracle (я уже много лет являюсь парнем. В первом приложении Oracle, написанном в .NET, проблем не было, и я пытаюсь подключиться к тому же серверу.
- Я установил:
- 'Java 2 Platform, Enterprise Edition 1.4 SDK'
- 'Java DB `10.5.3.0'
-'Java (TM) 6 Обновление 21
- 'Java (TM) SE Development Kit 6, обновление 21
- «Клиент Oracle IRM» (11 г)
- Драйверы JDBC Oracle 11g Release 2 (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)
У меня есть google'd хак из этого .. Я попытался добавить «TNS запись в файл tnsnames.ora». Я попытался добавить '## NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT)' в файл sqlnet.ora. Я пробовал разные другие вещи, но ничего не работает.
Кто-нибудь испытывал это раньше и знает, как заставить это работать? Я использую не ту версию? Сервер удален (у меня сервер Oracle не установлен локально, только клиент). Может быть, у меня неправильная версия Java SDK или неправильная версия файла JDBC .jar ?? Мне просто нужно подключиться к Oracle и выполнить один простой запрос! Большое спасибо за любую помощь.