Привет всем! Бьюсь уже два дня над неожиданно всплывшей проблемой в одном из старых своих скриптов. Скрипт получает от пользователя номер вида: 911011, и затем: 1. Ищет этот номер в таблице 2. Вставляет в другую таблицу этот номер и еще кое-какие данные. Все это работает на DBI + DBD::ODBC + MSSQL2005 + ActivePerl 5.10 На некоторых данных обнаружил что DBD выдает ошибку:
[Mon Dec 21 12:19:10 2009] inv.pl: DBD::ODBC::st execute failed:
[Microsoft][ODBC SQL Server Driver]Недопустимое значение точности
(SQL-HY104) at WebDB.pm line 122, <CFG> line 10.
В первом случае решением проблемы оказалось замена конструкции:
$sth->prepare('здесь код с знакоместами ? ? ?');
$sth->execute($var1,$var2,...);
на код без знакомест, т.е.:
$sth->prepare('здесь код $var1 $var2');
$sth->execute();
А во втором случае имеем дело с SP, И такая замена не помогает...
Сделал trace - (в аттаче)...
Что за ошибка - помогите идентифицировать?
Все типы входных параметров совпадают с типами БД, то есть везде вообще
только цифры, которые идут в int поля.
Удивляет еще и то что случается такое раз от разу на SQL2000, а на 2005 на
данный момент валится каждый раз.
Задача запустить все это именно на 2005.
Спасибо.
trace.log
Description: Binary data
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
