Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Ошибка подключения к Oracle 11g / 25 сообщений из 34, страница 1 из 2
31.05.2012, 12:23:42
    #37819360
Joker_pnz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
Подключаюсь к Oracle с помощью библиотеки ojdbc14.jar

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Class.forName("oracle.jdbc.driver.OracleDriver");

Properties props = new Properties();
props.put("v$session.program", "Reports");
try {
     con = DriverManager.getConnection(
                    "jdbc:oracle:thin:" + user + "/" + pass + "@"
                    + servname + ":1521:"
                    + dbname, props);
} catch (Exception ex) {
     ex.printStackTrace();
}



Вываливается ошибка:
java.lang.NullPointerException
at java.lang.String.<init>(String.java:173)
at oracle.sql.CharacterSet.UTFToString(CharacterSet.java:792)
at oracle.jdbc.driver.DBConversion.CharBytesToString(DBConversion.java:520)
at oracle.jdbc.driver.T4CTTIoer.processWarning(T4CTTIoer.java:362)
at oracle.jdbc.driver.T4CTTIoauthenticate.receiveOauth(T4CTTIoauthenticate.java:633)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:299)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:344)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:148)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545)
....

Если подключаться через odbc, всё норм.
Код: java
1.
2.
            con = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft ODBC for Oracle};Server=" + dbname
                    + ";Uid=" + user + ";Pwd=" + pass + ";");



Но этот вариант не подходит мне, т.к. в проекте я слишком часто использую код, типа
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
 ResultSet rs = stmt.executeQuery(sql);
 while(rs.next){
   int n = rs.getInt(2);   //Это пример!
   int b = rs.getInt(1);   

   //Либо что-то, типа этого
   String b = rs.getString(2) + rs.getInt(1);
 }



Т.е. если подключен к Oracle через odbc, то я должен жёстко соблюдать индексацию, получать значение сначало первого, потом второго и тд. Через OracleDriver можно не заморачиваться по-поводу индексации. Переделывать просто очень много придётся, если через odbc подключаться.


Суть в том, что проект уже полтора года работает с Oracle 11g. Никаких проблем не было и вдруг звонит админ и говорит, что не подключается к базе и java выплёвывает ошибку. С Oracle ничего он не делал по его словам. Через 2 дня мне позвонил другой админ, у которого тоже Oracle 11g. У него тоже самое случилось. Временно им переделал коннект через odbc, но не весь функционал теперь у меня работает в программе. В тех частях, где не соблюдаю индексацию, ошибки вываливаются.
Может кто-то знает решение...
...
Рейтинг: 0 / 0
31.05.2012, 12:38:07
    #37819380
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
Попробуй.

public static final String DEFAULT_CONNECTION_STRING = "jdbc:oracle:thin:@127.0.0.1:1521:XE";

Class.forName("oracle.jdbc.driver.OracleDriver");

String connectionString = DEFAULT_CONNECTION_STRING;

Locale prevLocale = Locale.getDefault();
Locale.setDefault(Locale.ENGLISH);

Connection connection = DriverManager.getConnection(connectionString, userName, pass);

Locale.setDefault(prevLocale);
...
Рейтинг: 0 / 0
31.05.2012, 13:02:22
    #37819446
Joker_pnz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
avp.mk,

ОГРОМНОЕ СПАСИБО!
Кидай номер в личку, кину на баланс)) Я серьёзно
...
Рейтинг: 0 / 0
01.06.2012, 08:33:17
    #37820786
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
Joker_pnz,
=)

Что-то я не вижу на этом формуме лички))
...
Рейтинг: 0 / 0
01.06.2012, 08:53:58
    #37820812
Garrick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
avp.mkJoker_pnz,
=)

Что-то я не вижу на этом формуме лички))
...
Рейтинг: 0 / 0
01.06.2012, 09:09:12
    #37820828
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
Garrick,
...
Рейтинг: 0 / 0
01.06.2012, 09:29:45
    #37820875
0FD
0FD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
avp.mk,
Видишь e-mail и отправляешь письмо, вот такой оригинальный способ отправки личного сообщения.
http://www.sql.ru/forum/actualthread.aspx?tid=924957&hl=%eb%e8%f7%ed%fb%e5%20%f1%ee%ee%e1%f9%e5%ed%e8%ff
...
Рейтинг: 0 / 0
01.06.2012, 09:47:25
    #37820915
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
0FDВидишь e-mail и отправляешь письмо
Вот и я о том-же))
...
Рейтинг: 0 / 0
01.06.2012, 16:22:41
    #37821813
Joker_pnz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
Ой, и правда лички нету))
Ну на мыло тогда))
Кстати, у одного админа таким способом работает, у другого та же история. Но хоть с одним проблему решил, всё равно щастье))
...
Рейтинг: 0 / 0
01.06.2012, 19:43:21
    #37822038
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
Joker_pnzКстати, у одного админа таким способом работает, у другого та же история. Но хоть с одним проблему решил, всё равно щастье))
А что сделал? Только локаль поменял? Или и ConnectionString тоже?

Полный листинг моего коннекта:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
    public static Connection connectToOracle(String connectionString, String userName, String pass) throws ClassNotFoundException, SQLException {
        Report("Подключение к базе данных " + connectionString);
        if (!driverLoaded) {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            Report("Драйвер загружен");
            driverLoaded = true;
        }

        Locale prevLocale = Locale.getDefault();
        Locale.setDefault(Locale.ENGLISH);

//        Properties props = new Properties();
//        props.put("user", userName);
//        props.put("password", pass);
//        props.put("internal_logon", "sysdba");
//        Connection connection = DriverManager.getConnection(connectionString, props);
        Connection connection = DriverManager.getConnection(connectionString, userName, pass);
        Locale.setDefault(prevLocale);
        return connection;
    }
...
Рейтинг: 0 / 0
04.06.2012, 15:34:11
    #37824438
Joker_pnz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
на баланс кинул))

нее, ни фига. уже и кодировку проекта пробовал менять UTF-8, Win1251. Сделал, как ты написал.
Ошибка та же... хз чё с ним делать. У меня на 15-ти базах работает всё отлично, правда Oracle 9i установлен.
На двух Oracle 11g работает отлично, одна из сменой локали заработала, а вот 3-тья база 11g не хочет :(

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
public static final String DEFAULT_CONNECTION_STRING = "jdbc:oracle:thin:@127.0.0.1:1521:dboffice";

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        }

        Connection con = null;
        try {
            String connectionString = DEFAULT_CONNECTION_STRING;
            con = DriverManager.getConnection(connectionString,
                    "sys", "qqq");
            System.out.println("OK");
            con.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
}
...
Рейтинг: 0 / 0
04.06.2012, 15:50:06
    #37824470
Garrick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
Joker_pnzа вот 3-тья база 11g не хочет :(

Не XE случайно?
...
Рейтинг: 0 / 0
04.06.2012, 16:03:04
    #37824503
Joker_pnz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
Garrick,

неа. win64_11gR2_database
...
Рейтинг: 0 / 0
04.06.2012, 17:16:56
    #37824689
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
Joker_pnzа вот 3-тья база 11g не хочет :
12252427
...
Рейтинг: 0 / 0
04.06.2012, 18:01:48
    #37824787
Joker_pnz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
Petro123,

результаты запроса у обеих баз одинаковые
...
Рейтинг: 0 / 0
04.06.2012, 19:53:29
    #37824923
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
Joker_pnzна баланс кинул))
спс) сегодня пришло немного русских денег))

Joker_pnzНа двух Oracle 11g работает отлично, одна из сменой локали заработала, а вот 3-тья база 11g не хочет :(
Почему бы не воспользоваться ojdbc6.jar, заместо ojdbc14.jar на 11 оракле (у меня они по-разному себя ведут...)

---
Сиды БД одинаковые (какие?)? Какие имена компов? (бред, конечно, но у кого-то тут не давно jboss не запускался из-за "не правильного" имени компа..)
...
Рейтинг: 0 / 0
05.06.2012, 08:40:52
    #37825245
Garrick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
avp.mkПочему бы не воспользоваться ojdbc6.jar, заместо ojdbc14.jar на 11 оракле (у меня они по-разному себя ведут...)

+
Ну, если, конечно, на клиенте не JVM 1.4

Что-то с кодировкой в базе, с региональными настройками? При правильных настройках на сервере, если это возможно, а у вас как я понимаю базы свои, т.е. сами как хотите можете поменять настройки на сервере, должно соединяться без всякого шаманства с локалями

Код: java
1.
2.
Locale prevLocale = Locale.getDefault();
Locale.setDefault(Locale.ENGLISH);
...
Рейтинг: 0 / 0
06.06.2012, 17:19:18
    #37828097
Joker_pnz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
Пока немного некогда тестировать
JRE 1.6 update 20
Завтра, если будет время попробую с ojdbc6.jar
Сиды у 3-х 11g одинаковые, имя сервера serv - вполне нормальное по-моему))

Вот как раз таки до 18 мая 2012 года всё цеплялось без проблем, без всяких локалей. Админ ничего не шаманил, как он говорит. 19 мая, после рестарта моей проги, отвалилось у одного, с шаманством над локалями всё поднялось. 21 мая, рестарт сделал второй, отвалилось и у него, тут уже ничего не помогает.
Такое чувство, что oracle что-то из инета подкачал, обновился и каюк
База с моей программой работала с 5 февраля 2012 года, коннект к ораклу не изменялся с 2008 года.
...
Рейтинг: 0 / 0
06.06.2012, 17:41:12
    #37828142
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
Joker_pnz,
12656348
...
Рейтинг: 0 / 0
07.06.2012, 09:10:05
    #37828787
Garrick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
avp.mkJoker_pnz,
12656348
Прокатит если только вы работаете через клиента Oracle, т.е. в нашем случае oci driver. JDBC (thin driver) ничего из реестра не читает.
...
Рейтинг: 0 / 0
07.06.2012, 10:28:49
    #37828924
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
Garrickavp.mkJoker_pnz,
12656348
Прокатит если только вы работаете через клиента Oracle, т.е. в нашем случае oci driver. JDBC (thin driver) ничего из реестра не читает.
Это здесь вообще не причём, изменения делаются для сервера.

Парень тоже через thin драйвер подключается ;)
...
Рейтинг: 0 / 0
07.06.2012, 10:45:03
    #37828956
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
avp.mkЭто здесь вообще не причём, изменения делаются для сервера.
Для сервера БД? На хрена?
...
Рейтинг: 0 / 0
07.06.2012, 11:39:51
    #37829078
Joker_pnz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
В общем подключил ojdbc6.jar, всё работает. Даже без изменения локалей. Блин, не знал, что библиотеку поменяли... Не понятно только то, что до этого всё работала. Всем спасибо. Тема закрыта
...
Рейтинг: 0 / 0
07.06.2012, 12:27:29
    #37829202
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
Joker_pnzДаже без изменения локалей.
Рекомендую оставить, у меня на полноростовом оракле тоже без изменения локали всё работает, а на XE нет..
...
Рейтинг: 0 / 0
07.06.2012, 12:48:02
    #37829268
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка подключения к Oracle 11g
avp.mk,

В Oracle XE неполная поддержка NLS.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Ошибка подключения к Oracle 11g / 25 сообщений из 34, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]