|
Передать хранимой процедуре параметр varchar > 8000 |
☑ |
0
IntRandom
04.09.15
✎
15:44
|
Собственно это и весь вопрос :
Как передать хранимой процедуре параметр varchar > 8000 ?
( Ранее в темах уже подымался этот вопрос, но он касался только вызова процедуры, без передачи самих параметров )
Попытался провести аналогию и использовать следующий код :
ФункцияSQL.Parameters.Append(ФункцияSQL.CreateParameter("@"+ИмяПараметра, 200, 1, Pow(2, 30) ,ЗначениеПараметра));
ЗначениеПараметра - строка неограниченная. ( в 1с )
Выдает ошибку : Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][ODBC SQL Server Driver]String data, right truncation
|
|
1
Ненавижу 1С
гуру
04.09.15
✎
15:53
|
а параметр у функции как описан?
|
|
2
IntRandom
04.09.15
✎
15:55
|
varchar(max)
|
|
3
ДенисЧ
04.09.15
✎
16:11
|
а разве varchar может быть больше 8000?
|
|
4
IntRandom
04.09.15
✎
16:16
|
Суть в том, что ,если написать вместо Pow(2, 30) 8000,
строки с длиной больше определенной в 1С ( те, что занимают больше 8000 байт, кажется) не проходят в SQL и он начинает ругаться на не соответствие типов.
|
|
5
МихаилМ
04.09.15
✎
16:29
|
используте oledb вместо odbc. у одбс мс скл ограничение 64 мегабайта.
|
|
6
IntRandom
04.09.15
✎
16:33
|
Речь идет о килобайтах.
Не думаю, что в этом проблема.
|
|