powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / вызов PROCEDURE через ADO Command - ошибка "Error while preparing parameters"
5 сообщений из 5, страница 1 из 1
вызов PROCEDURE через ADO Command - ошибка "Error while preparing parameters"
    #40096049
victorov1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
установил ODBC-драйверы Postgres и через ADO Command вызываю хранимую процедуру с параметрами стандартным образом.
При любом раскладе получаю ошибку:
"ОШИБКА: procedure_name(unknown, unknown, ...) — процедура;
Error while preparing parameters"
но если вызывать не PROCEDURE , а FUNCTION() RETURNS VOID , то рабоатет как надо с теми же параметрами!
в чем проблема кто знает?
...
Рейтинг: 0 / 0
вызов PROCEDURE через ADO Command - ошибка "Error while preparing parameters"
    #40096052
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
victorov1,

1) у вас в базе процедура или функция?
2) что и как именно вызывается? См. логи базы, там будет написано, это call процедуры или вызов функции
...
Рейтинг: 0 / 0
вызов PROCEDURE через ADO Command - ошибка "Error while preparing parameters"
    #40096056
victorov1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
имею:

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
...
Рейтинг: 0 / 0
вызов PROCEDURE через ADO Command - ошибка "Error while preparing parameters"
    #40096069
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
victorov1,

ODBC небось просто не понимает как с процедурами обращаться
потому что его писали когда разницы между процедурами и функциями в pg не было.
А теперь разница есть а ODBC просто не умеет.
Может стоит поискать новую версию ODBC если она есть в природе.


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
вызов PROCEDURE через ADO Command - ошибка "Error while preparing parameters"
    #40096070
victorov1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
версия от мая этого года.

но я так и подумал, проще использовать FUNCTIONS
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / вызов PROCEDURE через ADO Command - ошибка "Error while preparing parameters"
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]