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
Вот тут примеры некоторые брал
5
alexei366
02.08.12
✎
22:48
Ну кто поможет?
Закон Брукера: Даже маленькая практика стоит большой теории.