Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Informix [игнор отключен] [закрыт для гостей] / getSerial в informix jdbc / 10 сообщений из 10, страница 1 из 1
13.07.2006, 16:00
    #33851557
MGN
MGN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getSerial в informix jdbc
Добрый день!

Есть вот такой код на яве

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
......
Statement stmt = null;
        try{
            log_query( aDBId, aSqlText, "     ");
            stmt = aConnection.createStatement();


            stmt.executeUpdate( aSqlText );
            int Key=((IfmxStatement)stmt).getSerial();

        } catch (SQLException e) {
......

При выполнении, выдаёт ClassCastException на строчке, где применяю метод getSerial().
Всё взял из документации по информикс jdbc.

Целью всего етого является вытаскивание сгенерированного ключа по auto_increment.
-- getGeneraedKeys использовать не могу, так как версия информикса 9.45, 10 ставить пока никто не хочет.

Что я не правильно делаю??
Или подскажите другой способ вытаскивания сгенерированного ключа.

Заранее большое спасибо!
...
Рейтинг: 0 / 0
13.07.2006, 16:21
    #33851657
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getSerial в informix jdbc
ЧуднО.

Получается что stmt это не IfmxStatement. Это возможно например если вы используете jdbc-odbc-bridge.

aConnection как создавался? Должно быть:
Код: plaintext
1.
2.
3.
...
 Class.forName("com.informix.jdbc.IfxDriver");
...
 aConnection = DriverManager.getConnection("jdbc:informix-sqli......."); 

Могу ошибаться.

-----------------------------------------------------------------------------------------------------------------------------------------
нужно делать то что нужно, а то что не нужно -- делать не нужно (перефразируя В-Пуха).
...
Рейтинг: 0 / 0
13.07.2006, 17:47
    #33852039
MGN
MGN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getSerial в informix jdbc
Нет не так. Там целая ветьеватая структура, поскольку используется сразу 3 соединения к разным БД.
Но в общем у меня Tomcat и я естественно использую Пул соединений. И вытаскиваю Датасоурс через JNDI.

в общем виде ето выглядит так

Код: plaintext
1.
2.
3.
4.
5.
........
Context initContext = new InitialContext();		
	    Context envContext = (Context)initContext.lookup("java:/comp/env");		
	    this.ds = (DataSource) envContext.lookup("jdbc/my");
conn=ds.getConnection();
........
...
Рейтинг: 0 / 0
13.07.2006, 17:51
    #33852051
MGN
MGN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getSerial в informix jdbc
Ну а класс там прописан вот такой
com.informix.jdbc.IfxDriver

Что stmt должен быть IfmxStatement в мануале не написано.
...
Рейтинг: 0 / 0
13.07.2006, 17:53
    #33852056
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getSerial в informix jdbc
MGNНет не так. Там целая ветьеватая структура, поскольку используется сразу 3 соединения к разным БД.
Но в общем у меня Tomcat и я естественно использую Пул соединений. И вытаскиваю Датасоурс через JNDI.
Ну и отлично, но у вас точно com.informix.jdbc.IfxDriver ?

Посмотрите тогда какой класс у объекта stmt и разбирайтесь почему он не IfmxStatement. По большому счету это вообще к информиксу отношения не имеет.
...
Рейтинг: 0 / 0
13.07.2006, 17:56
    #33852072
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getSerial в informix jdbc
MGNНу а класс там прописан вот такой
com.informix.jdbc.IfxDriverну и хорошо.

MGN
Что stmt должен быть IfmxStatement в мануале не написано.stmt то конечно не должен, но "ссылаться" он должен именно на экземпляр IfmxStatement, его создает .createStatement.
...
Рейтинг: 0 / 0
13.07.2006, 18:02
    #33852110
MGN
MGN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getSerial в informix jdbc
Вот тока что попробовал.
Даже если делаем объект типа IfmxConnection, то из него по createStatement возвращается не IfmxStatement, а Statement.
Да и ClassCastException, как я её понимаю, говорит о том, что по какой-то причине невозможно преобразовать Statement в IfmxStatement.
...
Рейтинг: 0 / 0
13.07.2006, 18:04
    #33852118
MGN
MGN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getSerial в informix jdbc
Сюда пишу, потамучто тут скорее найти людей, которые сталкивались с проблемой вытаскивания автоинкремента из информикса через jdbc. ))
...
Рейтинг: 0 / 0
13.07.2006, 18:10
    #33852140
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getSerial в informix jdbc
MGNСюда пишу, потамучто тут скорее найти людей, которые сталкивались с проблемой вытаскивания автоинкремента из информикса через jdbc. ))Вы сначала без томката проверьте, по простому.
...
Рейтинг: 0 / 0
13.07.2006, 18:35
    #33852198
MGN
MGN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getSerial в informix jdbc
Журавлев Денис MGNСюда пишу, потамучто тут скорее найти людей, которые сталкивались с проблемой вытаскивания автоинкремента из информикса через jdbc. ))Вы сначала без томката проверьте, по простому.

Если ето было бы всё так просто.....
Там уже 15мб исходниов в проекте.
Придётся видимо потратитьпару-тройку часов и забабахать маленький тестовый проектик.
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / getSerial в informix jdbc / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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