|
Запрос к Postgres через ADODB.Connection |
☑ |
0
alexei366
06.08.12
✎
15:43
|
Пытаюсь освоить параметризированный запрос к базе. В базе есть тестовая функция с одним входным параметром (тип text) на выходе просто число 1 ( i integer).
Если создаю параметр который менее 64 символов, тогда всё хорошо, в противном случае
ОШИБКА: слишком длинный идентификатор
DETAIL: Идентификатор должен быть короче 64 байт.
Соединение = Новый COMОбъект("ADODB.Connection");
Соединение.Open("Provider=PostgreSQL OLE DB Provider;......");
RecordSet = Новый COMОбъект("ADODB.RecordSet");
Cmd = Новый COMОбъект("ADODB.Command");
Cmd.ActiveConnection = Соединение;
Cmd.CommandType = 1;
Cmd.CommandText = "select public.test4($1) ";
prm1 = Cmd.CreateParameter(, 202, 1,70, "1q2w3e4r5t1q2w3e4r5t1q2w3e4r5t1q2w3e4r5t1q2w3e4r5t1q2w3e4r5t1q2w3e4r5t");
Cmd.Parameters.Append( prm1 );
RecordSet = Cmd.Execute();
Пробывал и Cmd.CommandType = 4 (выполнение хранимой процедуры) , там ошибки или "Procedure name for automatic arguments is not unique" (добавляю только входной параметр), или "Параметр задан неверно." (входной и выходной), или что-то вроде тип параметра задан не верно воспользуйтесь приведением.
Помогите пожалуйста!!!
|
|
1
aleks-id
06.08.12
✎
15:47
|
параметр во временное хранилище, в качестве параметра - ссылка на ВХ
|
|
2
alexei366
06.08.12
✎
15:50
|
?????????????????
|
|
3
alexei366
06.08.12
✎
16:21
|
народ, кто поможет то
|
|
4
aleks-id
06.08.12
✎
16:27
|
что непонятного? профайлером смотри как запрос на скуле получает данные из ВХ по ссылке. в своей процедуре делай так же
|
|
5
alexei366
06.08.12
✎
16:38
|
я так не умею, думал щас подскажут небольшую ошибку в моем коде да и все
|
|
6
alexei366
06.08.12
✎
16:39
|
и база 1С у меня не на постгресе
|
|
7
v8Newbie
06.08.12
✎
16:42
|
(0) А сам SQL-скрипт пробовал выполнить? Сформировав строку напрямую?
|
|
8
alexei366
06.08.12
✎
16:44
|
да
все норм
|
|