03.12.2010, 14:47 | #1 |
Британский учённый
|
Update ошибка в ODBC Oracle
Добрый день.
Давно столкнулся с ошибкой, которую не могу решить, правда обошел, но очень некрасиво. Попытки выполнить любое обновление данных в Оракл через ODBC драйвер выдают ошибку: PHP код:
Менял параметры для createStatement, но безуспешно. Выполнял код в DAX 4.0 SP2 та же ошибка и в DAX2009 SP1. ОС Win XP (32) и Win 7 (64). Пробовал и с драйвером от Оракла, ничего не изменилось. Версия Оракл на сервере 9.0. У пользователь для ODBC есть все права. Вот тестовый джоб. X++: static server void ODBC_Oracle(Args _args) { OdbcConnection odbc; LoginProperty lp; Statement stmt; ResultSet res; str expr; SqlStatementExecutePermission ssep; ; lp = new LoginProperty(); lp.setOther('Driver={Microsoft ODBC for Oracle};Dbq=liv;Uid=user;Pwd=pass;'); // lp.setOther('Driver={Oracle in OraClient11g_home1};Dbq=liv;Uid=user;Pwd=pass;'); odbc = new ODBCConnection(lp); if(odbc) { stmt = odbc.createStatement(ResultSetType::KeysetDriven, ResultSetConcurrency::Updatable); expr = "UPDATE \"TN_ITEMS\" SET \"CN_PART_STATUS\" = '5' WHERE \"CN_ID\" = '70926' AND \"STATE\" = '3'"; ssep = new SqlStatementExecutePermission(expr); ssep.assert(); res = stmt.executeQuery(expr); if (res) { res.next(); } CodeAccessPermission::revertAssert(); } } Последний раз редактировалось Link; 03.12.2010 в 14:53. |
|
03.12.2010, 14:52 | #2 |
Участник
|
А если вместо executeQuery, поставить вызов executeUpdate.
__________________
Sergey Nefedov |
|
|
За это сообщение автора поблагодарили: Link (1). |
03.12.2010, 14:58 | #3 |
Британский учённый
|
|
|