bde+oracle (win98->XP)
nixt
Дата: 04.03.2007 11:38:36
при переходе на ХР с 98-й оси(на клиентской машине) при добавлении записи в таблицу в поле ID втыкает "-10" при повторном добавлении кричит, понятное дело, что такая запись уже есть...
как XP-е надо мозг вправит чтоб она заработала так как нада, или мозг надо bde вправлять, и ваобще в чем могет быть проблемма?
P.S. делфе + bde + oracle 8
evostr
Дата: 04.03.2007 11:44:49
1. А oracle 8 под XP вобще сертифицирована?
2. Не совсем понятно как insert происходит, поле ID с помощью sequence вставляется или как?
nixt
Дата: 04.03.2007 11:48:01
не знаю исходников нет а декомпиляция в асемблерный код мне к сожалению ни о чем не говорит
nixt
Дата: 04.03.2007 11:52:11
хотя я даже не знаю в чем там проблема в insert или при определении каое число туда ваще нада вставлять тоесть id последней записи
Exotic
Дата: 05.03.2007 09:37:58
Раз уж исходного кода нет, то стоило бы хотя бы посмотреть, как это все дело вставляется с помощью просмотра той же v$sql после выполнения dml-операции.
Если рассуждать логически, то:
платформа клиента на вставку значения из сиквенса никак не влияет;
вставка видимо обрабатывается на клиенте, вопрос в том, как;
скорее всего делается выборка максимального значения из таблицы и прибавляется 1, в случае ошибки возвращается -10 (почему-то мне так кажтся);
если так, то нужно узнать почему возникает такая ситуация (включаем трассировку);
не раз видел такое, что на клиенте местами в запросах прописывается имя схемы, но не всегда, а потому возникают проблемные ситуации при коннектах от имени других пользователей (проверьте настройки DBE, верно ли указано имя пользователя, под которым ходите в базу);
вообще в сторону проблемы в платформе копать не надо, нужно разбираться в чем отличия настройки DBE на разных клиентах, почему-то мне кажется, что стоит еще сравнить настройки клиентов в %ORACLE_HOME%\network\admin\
---------------------------------------------
OracleManiacs
spas2001
Дата: 05.03.2007 10:13:08
Есть такая программа - sqlmon
С помощью нее ты можешь посмотреть, что конкретно отсылается через клиент
Именно для такой связки
nixt
Дата: 06.03.2007 23:47:00
да я собственно разобрался вроде
дело в том что разработчик подстраховался и решил что из любого другого клиентского приложения вставлять в таблицу ничего низя ... следовательно число которое должно было попасть в поле id определялось толко в том случае если совпадало имя проги.... вот так вот
наверное кодировка не понравилась по ходу XP-а передает имя проги в другом виде
а за советы спасибо!!!