Имя: Пароль:
1C
1С v8
ошибка при передаче параметров в MS SQL
,
0 metanal
 
02.11.12
16:20
Необходимо вызывать хранимую процедуру в MS SQL. При передаче параметров типа NULL и uniqueidentifier возникает ошибка:
Code = 0x800a0bb9 Description =Error 0x800A0BB9 {Source: ADODB.Command, Description =Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом.

Возможно вызов процедуры происходит не напрямую, а через метод объекта сервиса.

Подскажите как правильно передать параметры типа NULL и uniqueidentifier?
1 shuhard
 
02.11.12
16:42
(0) руки оторвать автору хранимки за параметр NULL
2 metanal
 
02.11.12
16:44
я не автор хранимки. но мне интересно. почему?
3 sda553
 
02.11.12
16:46
я уникальный идентификатор просто в '' кавычках пишу и все. sql нормально конвертирует
4 metanal
 
02.11.12
16:49
т.е. как строку передаешь?
5 metanal
 
02.11.12
16:55
(3) спасибо. натолкнул на мысль ) проблема с uniqueidentifier снята

как быть с NULL?
6 prog01
 
02.11.12
16:56
(0)NULL заменить на что-то более удобоваримое и в хранимке и в параметрах
7 metanal
 
02.11.12
17:07
это на что например? хранимка по сути просто делает insert в таблицу. у соответствующей колонки тип int или NULL. есть ситуации когда значение должно быть именно NULL.
8 shuhard
 
02.11.12
17:19
(7) что-то мешает в хранимке проверить отсутствие входного параметра и заменить его NULL, как это и делают уважающиt себя кодеры T-SQL &
9 prog01
 
02.11.12
17:21
(7)ваще нулл вставлять это крутотень...
а тем более его в параметрах передавать
дело даже не в кодинге дело в том что сам ход мыслей патологичен
10 shuhard
 
02.11.12
17:23
(9) +1
сиквелу не требуется вставлять NULL  в поле, где это разрешено, достаточно в Insert это поле пропустить
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.