|
ошибка при передаче параметров в 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 это поле пропустить
|
|