powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / список функций из базы DB2
9 сообщений из 9, страница 1 из 1
список функций из базы DB2
    #38535625
dJabber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь получить список функций из базы DB2 используя ODBC - не получается. SQLProcedures - возвращает только список процедур. Ткните носом плиз....
...
Рейтинг: 0 / 0
список функций из базы DB2
    #38536519
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dJabber,

А в чём проблема?
Код: sql
1.
select * from SYSCAT.FUNCTIONS;
...
Рейтинг: 0 / 0
список функций из базы DB2
    #38538750
dJabber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CawaSPb,
неет, именно средствами ODBC (например, процедуры вытаскиваются вызовом SQLProcedures)
...
Рейтинг: 0 / 0
список функций из базы DB2
    #38538982
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно даже с динамикой:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE OR REPLACE PROCEDURE TEMP.SEL_F ()
    BEGIN
          DECLARE STR_EXEC varchar(2000);
          DECLARE c1 cursor with return for s1;
          SET STR_EXEC =    'select *from SYSCAT.SYSFUNCTIONS';
          PREPARE s1 FROM  STR_EXEC ; 
          OPEN    c1;
    END;



Код: plsql
1.
call TEMP.SEL_F();
...
Рейтинг: 0 / 0
список функций из базы DB2
    #38539006
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dJabberнеет, именно средствами ODBC (например, процедуры вытаскиваются вызовом SQLProcedures)

А кто сказал, что ODBC такое умеет вообще?
Пользуйтесь средствами каталога БД. Хотите, оберните в некоторую свою ф-ю, да назовите MySQLFunctions().
...
Рейтинг: 0 / 0
список функций из базы DB2
    #38539042
medoed,

Тут имеется в виду немного другое.
В интерфейсах ODBC и JDBC есть некий набор функций (API) для получения информации о структуре базы данных (метаданные).
Это именно часть API. Используя эти функции программа может узнать достаточно много информации об объектах базы неким унифицированным способом.
Например запросив информацию по таблицам можно узнать имя таблицы, кол-во столбцов, типы столбцов, допустимость NULL-значений, участие столбца в первичном ключе и т.п.
Т.е. (теоретически) таким образом можно взаимодействовать с любой СУБД, к которой полностью реализован ODBC-драйвер, не зная специфики конкретной СУБД.

dJabber,

Насколько мне известно, в ODBC API не предусмотрено функции для получения информации о функциях, аналогичной SQLProcedures - для хранимых процедур.
В документации ODBC API Reference нет описания такой функции.

Для JDBC такая функция предусмотрена java.sql.DatabaseMetaData.getFunctions .
...
Рейтинг: 0 / 0
список функций из базы DB2
    #38540044
dJabber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Хабаров
В документации ODBC API Reference нет описания такой функции.


Евгений , спасибо,
но ведь судя по документации на SQLProcedures, она должна возвращать информацию и по функциям, а процедура это или функция определяется параметром PROCEDURE_TYPE... но почему-то для DB2 эта функция возвращает только процедуры...
...
Рейтинг: 0 / 0
список функций из базы DB2
    #38540128
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dJabber,

Однозначно определение SQLProcedures() о том, должны ли возвращаться функции, не говорит. Говорит о том, что _могут_ (и тогда значение PROCEDURE_TYPE будет SQ_PT_FUNCTION).

Но! https://pic.dhe.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.apdv.cli.doc/doc/r0000640.html
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Column 8  PROCEDURE_TYPE (SMALLINT)
    Defines the procedure type:

        SQL_PT_UNKNOWN: It cannot be determined whether the procedure returns a value.
        SQL_PT_PROCEDURE: The returned object is a procedure that does not have a return value.
        SQL_PT_FUNCTION: The returned objects is a function that has a return value

    CLI always returns SQL_PT_PROCEDURE.
...
Рейтинг: 0 / 0
список функций из базы DB2
    #38540376
dJabber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CawaSPb, спасибо.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / список функций из базы DB2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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