|
|
su.dbms- SU.DBMS ---------------------------------------------------------------------- From : Artyem V. Shkondin 2:5020/400 30 Dec 2001 19:09:16 To : Dmitry Ochnev Subject : Re: вопрос по ADO -------------------------------------------------------------------------------- Hello Dmitry "Dmitry Ochnev" <Dmitry.Ochnev@f54.n5022.z2.fidonet.org> wrote in message news:1009655850@f54.n5022.z2.ftn... > Hallo, All ! > > --- > Тип ошибки: > Microsoft OLE DB Provider for SQL Server (0x80040E07) > Error converting data type varchar to bigint. > /rkg-dev/send.asp, line 59 Скорее всего ты страдаешь от кривости рук разработчиков ADO и/или своей невнимательности. Дело в том, что вызовы SP из ADO осуществляются в таком виде: exec p_SOMESP_insert '30-jan-2001', 'some text goes here'. Если процедура была объявлена вот так: create p_SOMESP_insert @date smalldatetime, @some_id int = null, @some_text varchar(255) as ... то ты и получишь свою ошибку. Кстати, её очень легко отловить при помощи MS SQL Profiler. Что нужно сделать: или 1) убедиться что null поле передаётся как null, а не пустая строка (т.е. чтобы на сервер передавалось exec p_SOMESP_insert '30-jan-2001', null, 'some text goes here'.) или 2) пользоваться нормальным вызовом процедуры вида exec p_SOMESP_insert @date='30-jan-2001', @some_text='some text goes here'. В таком виде "потеря" параметра со значением по умолчанию происходит безболезненно. Я предпочитаю второй вариант. . Sincerely Yours, Artyem V. Shkondin artvs@clubpro.spb.ru member of CluB pro http://clubpro.spb.ru --- ifmail v.2.15dev5 * Origin: Peterlink News System (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms/20753ed090db9.html, оценка из 5, голосов 10
|