|
вызов PROCEDURE через ADO Command - ошибка "Error while preparing parameters"
|
|||
---|---|---|---|
#18+
установил ODBC-драйверы Postgres и через ADO Command вызываю хранимую процедуру с параметрами стандартным образом. При любом раскладе получаю ошибку: "ОШИБКА: procedure_name(unknown, unknown, ...) — процедура; Error while preparing parameters" но если вызывать не PROCEDURE , а FUNCTION() RETURNS VOID , то рабоатет как надо с теми же параметрами! в чем проблема кто знает? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 16:22 |
|
вызов PROCEDURE через ADO Command - ошибка "Error while preparing parameters"
|
|||
---|---|---|---|
#18+
victorov1, 1) у вас в базе процедура или функция? 2) что и как именно вызывается? См. логи базы, там будет написано, это call процедуры или вызов функции ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 16:25 |
|
вызов PROCEDURE через ADO Command - ошибка "Error while preparing parameters"
|
|||
---|---|---|---|
#18+
имею: CREATE PROCEDURE MyProc(_p1 INT) LANGUAGE plpgsql AS $$ BEGIN INSERT INTO t VALUES(_p1); END; $$; CREATE FUNCTION MyFunc(_p1 INT) RETURNS VOID LANGUAGE plpgsql AS $$ BEGIN INSERT INTO t VALUES(_p1); END; $$; при вызове через ADO хранимой процедуры (adCmdStoredProc) для: MyProc - ошибка MyFunc - все ок! сам вызов делаю стандартным образом: _CommandPtr cmd; _ParameterPtr p = cmd->CreateParameter(...); p->Attributes = adParamSigned; p->Type = adInteger; p->Size = 4; p->Value = 11111; cmd->Parameters->Append(p); cmd->CommandText = 'MyProc'; cmd->CommandType = adCmdStoredProc; cmd->Prepared = FALSE; cmd->Execute(NULL,NULL,adCmdStoredProc|adExecuteNoRecords); для MS SQL этот же вызов работает без броблем естественно для PROCEDURE ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 16:37 |
|
вызов PROCEDURE через ADO Command - ошибка "Error while preparing parameters"
|
|||
---|---|---|---|
#18+
victorov1, ODBC небось просто не понимает как с процедурами обращаться потому что его писали когда разницы между процедурами и функциями в pg не было. А теперь разница есть а ODBC просто не умеет. Может стоит поискать новую версию ODBC если она есть в природе. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 16:57 |
|
|
start [/forum/topic.php?fid=53&msg=40096049&tid=1993873]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 144ms |
0 / 0 |