Oracle :: Вызов упакованных хранимых процедур

В моем проекте у меня есть хранимая процедура в пакете, мне нравится вызывать ее непосредственно в моем проекте, например HRPKG.ADD_JOB_HISTORY, она возвращается Stored procedure is not defined, но если я вызываю ее, например, из имени пользователя, например HR.HRPKG.ADD_JOB_HISTORY, она вызывается успешно

Примечание. Я подключаюсь к оракулу с помощью ODBC In Message Broker!


person Abu taha    schedule 11.12.2014    source источник


Ответы (1)


Вы не можете ссылаться на свой SP напрямую без какого-либо имени пользователя. Вам нужно ваше имя пользователя / имя схемы для справки. Если вы не используете никакого пользователя, то как он узнает, откуда взять SP. Это синтаксис.

HR.HRPKG.ADD_JOB_HISTORY

HR-uname HRPKG-пакет ADD_JOB_HISTORY-SP

Это похоже на поиск SP ADD_JOB_HISTORY в пакете HRPKG в схеме HR.

person theDbGuy    schedule 11.12.2014
comment
У меня есть три среды === три базы данных Oracle, таблицы и процедуры одинаковы, но пользователи разные... мне нужно вызывать процедуры из пакетов... - person Abu taha; 11.12.2014
comment
вам точно нужно имя схемы. Что вы подразумеваете под пользователями в вашем контексте? - person theDbGuy; 11.12.2014
comment
Я имею в виду имя схемы.. т.е.: первая среда базы данных, которую мы называем HR.HRPKG, во второй среде INFO.HRPKG, а в третьей - PROD.HRPKG... - person Abu taha; 11.12.2014
comment
Я надеюсь, вы понимаете, как использовать схемы. Сделайте соответствующие соединения для каждого пользователя, которого вы должны подключить. вы не можете использовать пакет так, как вы думаете. вам нужно имя, чтобы сообщить компилятору, где получить доступ к данным. это более 1 схемы, вам нужно использовать имя схемы. Я думаю, вы должны понимать их использование, чтобы понять все это. - person theDbGuy; 11.12.2014
comment
Последний вопрос ... Я получаю доступ к схеме в odbc, используя имя пользователя и пароль, поэтому, когда я вызываю пакет, он должен вызывать пакет без имени схемы! неужели!!!!! - person Abu taha; 11.12.2014
comment
Давайте продолжим обсуждение в чате. - person theDbGuy; 11.12.2014