Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / список функций из базы DB2 / 9 сообщений из 9, страница 1 из 1
23.01.2014, 14:36
    #38535625
dJabber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
список функций из базы DB2
Пытаюсь получить список функций из базы DB2 используя ODBC - не получается. SQLProcedures - возвращает только список процедур. Ткните носом плиз....
...
Рейтинг: 0 / 0
24.01.2014, 11:33
    #38536519
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
список функций из базы DB2
dJabber,

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

Код: 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
27.01.2014, 14:19
    #38539006
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
список функций из базы DB2
dJabberнеет, именно средствами ODBC (например, процедуры вытаскиваются вызовом SQLProcedures)

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

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

dJabber,

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

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


Евгений , спасибо,
но ведь судя по документации на SQLProcedures, она должна возвращать информацию и по функциям, а процедура это или функция определяется параметром PROCEDURE_TYPE... но почему-то для DB2 эта функция возвращает только процедуры...
...
Рейтинг: 0 / 0
28.01.2014, 10:50
    #38540128
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
список функций из базы DB2
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
28.01.2014, 13:07
    #38540376
dJabber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
список функций из базы DB2
CawaSPb, спасибо.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / список функций из базы DB2 / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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