Имя: Пароль:
1C
1С v8
v8: Ошибка Postgres, запрос через ADODB.Connection
0 alexei366
 
02.08.12
22:07
Пытаюсь выполнить параметризованный запрос через ADODB.Connection.
создаю команду и параметр

Cmd = Новый COMОбъект("ADODB.Command");
Cmd.ActiveConnection = Соединение;
Cmd.CommandText = ТекстЗапроса;

prm1 = Cmd.CreateParameter(, 200, 1,СтрДлина(СтрокаВставки),СтрокаВставки);

Cmd.Parameters.Append( prm1 );
RecordSet = Cmd.Execute();



Если СтрокаВставки меньше 64 символов то отрабатывает норм а иначе

ERROR: identifier too long
DETAIL: Identifier must be less than 64 characters
1 vvp91
 
02.08.12
22:14
ТекстЗапроса покажи.
И она тебе пишет, что ты пытаешься идентификатор параметра задать размером более 64 символов.
СтрокаВставки у тебя и выступает как имя параметра, а не значение.
2 alexei366
 
02.08.12
22:18
ТекстЗапроса = "UPDATE sztls_scheta.schet
                         |SET
                       |sch_kartinka = decode( ? , 'base64')
                       |,sch_kartinkaras= '"+СтруктураДанных.sch_kartinkaras+"'
                         |,sch_kartinkaest= "+РаботаСпреобразованиемПостгрес.ФорматФлага(СтруктураДанных.sch_kartinkaest)+"
                       |WHERE sch_id = "+Формат(СтруктураДанных.sch_id,"ЧГ=")+" ;";
3 alexei366
 
02.08.12
22:21
У sch_kartinka тип bytea если что
4 alexei366
 
02.08.12
22:23
Вот тут примеры некоторые брал http://www.1csql.ru/materials/articles/develop.html~bfd0f58f-25af-add2-6767-09a5bf664605
5 alexei366
 
02.08.12
22:48
Ну кто поможет?