Страница 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
				Если у кого еще какие-нибудь мысли по поводу это проблемы с числами с десятичной точкой ?