Имя: Пароль:
1C
1С v8
Передать хранимой процедуре параметр 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
Речь идет о килобайтах.
Не думаю, что в этом проблема.