Имя: Пароль:
1C
1С v8
Запрос к 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
да
все норм
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn