Страница 1 из 1
Попробовал пример abcmavt - ошибка
Добавлено: 07 Декабрь 2005, 11:47
tanatol
Ошибка связана с числовыми полями : если есть дробная часть ( 1.15 ) , то при добавлении записи получаю ошибку :
Error : [Oracle][ODBC][Ora]ORA-01722: неверное число
В чем причина ?
Добавлено: 07 Декабрь 2005, 12:26
OVV
Может причина в разделителе? У тебя точка, а Оракл хочет запятую?
Добавлено: 07 Декабрь 2005, 13:09
Andrew™
OVV писал(а):Может причина в разделителе? У тебя точка, а Оракл хочет запятую?
не в этом проблема, от разделителя не зависил т к всё передаётся бинарно ("?"), а не строкой
тут известная проблема, не люблю я переводить стрелки, но в данном случае железно, кривой соответсвующий ODBC Oracle DRIVER
я юзаю от 7 и от 8(определённый) и с ними работает
почему утверждаю данных факт, так даже в том же ODBC TEST в Oracle поставке тажа фигня.
Добавлено: 07 Декабрь 2005, 13:37
tanatol
А где взять не кривой ?
Добавлено: 07 Декабрь 2005, 13:52
Andrew™
tanatol писал(а):А где взять не кривой ?
на
http://www.oracle.com
Добавлено: 07 Декабрь 2005, 15:50
tanatol
поставил драйвер версии 9.02.00.54 - все равно вылетает с этой же ошибкой . для более поздних драйверов требуется другая версия инсталлера.
Добавлено: 07 Декабрь 2005, 16:23
tanatol
Попробовал работать через ODBC работать с тем же файлом SQLProducts : когда поле PRICE было decimal(7,2) выскакивала та же ошибка ORA_0122 ( Неверное число ), поменял на REAL - OK. В mavdemo поменял DECIMAL(7,2) на REAL - все равно ошибка 01722. В чем разница ?
Добавлено: 07 Декабрь 2005, 16:38
Andrew™
tanatol писал(а):Попробовал работать через ODBC работать с тем же файлом SQLProducts : когда поле PRICE было decimal(7,2) выскакивала та же ошибка ORA_0122 ( Неверное число ), поменял на REAL - OK. В mavdemo поменял DECIMAL(7,2) на REAL - все равно ошибка 01722. В чем разница ?
со стороны клиента DECIMAL или REAL не играет рояли, это приёмные буфера, поле то со стороны БД не изменилось
сервак девятый у нас есть, завтра попробую и клиента установить от него, проверю.
ради интереса, вместо DECIMAL в DCT выставь CSTRING(10), что будет?
Добавлено: 07 Декабрь 2005, 16:49
Andrew™
tanatol писал(а):Попробовал работать через ODBC работать с тем же файлом SQLProducts : когда поле PRICE было decimal(7,2) выскакивала та же ошибка ORA_0122 ( Неверное число ), поменял на REAL - OK. В mavdemo поменял DECIMAL(7,2) на REAL - все равно ошибка 01722. В чем разница ?
почитал я про ошибку, проблема именно с запятычкой
1000,55 - для твоего сервака правильно
1000.00 - для библиотеки правильно
завтра попробую разрулить, или найти в настройках ODBC дривера есть какая то настройка на эту тему
Добавлено: 07 Декабрь 2005, 16:54
Andrew™
tanatol писал(а):Попробовал работать через ODBC работать с тем же файлом SQLProducts : когда поле PRICE было decimal(7,2) выскакивала та же ошибка ORA_0122 ( Неверное число ), поменял на REAL - OK. В mavdemo поменял DECIMAL(7,2) на REAL - все равно ошибка 01722. В чем разница ?
если REAL через DRIVER('ODBC') работает
интересно если вводить с бробной частью 10.23
в БД часом эта дробная часть не обрезается?
что то было когда то у меня когда LANGUAGE Настройка у клиента ораклового была не AMERICAN_AMERICA.CL8MSWIN1251
Добавлено: 08 Декабрь 2005, 11:40
tanatol
нет не обрезается. нормально отрабатывает !
Добавлено: 13 Декабрь 2005, 17:01
tanatol
Если у кого еще какие-нибудь мысли по поводу это проблемы с числами с десятичной точкой ?