Соединения с базами IBM DB2

Started by vitabios, February 12, 2015, 09:49:23 PM

Previous topic - Next topic

vitabios

Пытаюсь настроить соединения с БД IBM Db2.

Конфигурация агента:

#SubAgent = db2.nsm

#*DB2
#ConfigFile = c:/NetXMS/etc/db2.xml


Содержимое файла db2.xml:

<?xml version="1.0" encoding="Windows-1251" ?>
<config>
<db2sub>
<db2 id=1>
<dbname>VOCDB</dbname>
<dbalias>VOCDB</dbalias>
<username>db2admin</username>
<password>pass12345</password>
<queryinterval>30</queryinterval>
<reconnectinterval>30</reconnectinterval>
</db2>
</db2sub>
<db2sub>
<db2 id=2>
<dbname>ANGEL</dbname>
<dbalias>ANGEL</dbalias>
<username>db2admin</username>
<password>pass12345</password>
<queryinterval>30</queryinterval>
<reconnectinterval>30</reconnectinterval>
</db2>
</db2sub>
<db2sub>
<db2 id=3>
<dbname>SEVER</dbname>
<dbalias>SEVER</dbalias>
<username>db2admin</username>
<password>pass12345</password>
<queryinterval>30</queryinterval>
<reconnectinterval>30</reconnectinterval>
</db2>
</db2sub>
</config>


Лог:
Initialization of subagent "db2.nsm" failed
DB2: 'c:/NetXMS/etc/db2.xml' is not a valid configuration file



Если же прописываю параметры одной БД в файле, получаю следующее:
Subagent "db2.nsm" loaded successfully
DB2: connected to database 'VOCDB'
Ошибка 11.02.2015 11:29:39 NetXMS Win32 Agent 23 Отсутствует DB2: query 'SELECT count(*) FROM TABLE (mon_get_table('', '', -2)) WHERE tab_organization = 'C'' failed
Ошибка 11.02.2015 11:29:39 NetXMS Win32 Agent 44 Отсутствует "SQL query failed (Query = ""SELECT count(*) FROM TABLE (mon_get_table('', '', -2)) WHERE tab_organization = 'C'""): [IBM][CLI Driver][DB2/NT64] SQL0206N  ""TAB_ORGANIZATION"" недопустимо в контексте, где оно используется.  SQLSTATE=42703"
Ошибка 11.02.2015 11:29:39 NetXMS Win32 Agent 23 Отсутствует DB2: query 'SELECT count(*) FROM TABLE (mon_get_table('', '', -2)) WHERE tab_organization = 'R'' failed
Ошибка 11.02.2015 11:29:39 NetXMS Win32 Agent 44 Отсутствует "SQL query failed (Query = ""SELECT count(*) FROM TABLE (mon_get_table('', '', -2)) WHERE tab_organization = 'R'""): [IBM][CLI Driver][DB2/NT64] SQL0206N  ""TAB_ORGANIZATION"" недопустимо в контексте, где оно используется.  SQLSTATE=42703"
Ошибка 11.02.2015 11:29:39 NetXMS Win32 Agent 23 Отсутствует DB2: query 'SELECT count(*) FROM TABLE (mon_get_table('', '', -2)) WHERE data_sharing_state = 'BECOMING_NOT_SHARED'' failed
Ошибка 11.02.2015 11:29:39 NetXMS Win32 Agent 44 Отсутствует "SQL query failed (Query = ""SELECT count(*) FROM TABLE (mon_get_table('', '', -2)) WHERE data_sharing_state = 'BECOMING_NOT_SHARED'""): [IBM][CLI Driver][DB2/NT64] SQL0206N  ""DATA_SHARING_STATE"" недопустимо в контексте, где оно используется.  SQLSTATE=42703"
Ошибка 11.02.2015 11:29:39 NetXMS Win32 Agent 23 Отсутствует DB2: query 'SELECT count(*) FROM TABLE (mon_get_table('', '', -2)) WHERE data_sharing_state = 'BECOMING_SHARED'' failed
Ошибка 11.02.2015 11:29:39 NetXMS Win32 Agent 44 Отсутствует "SQL query failed (Query = ""SELECT count(*) FROM TABLE (mon_get_table('', '', -2)) WHERE data_sharing_state = 'BECOMING_SHARED'""): [IBM][CLI Driver][DB2/NT64] SQL0206N  ""DATA_SHARING_STATE"" недопустимо в контексте, где оно используется.  SQLSTATE=42703"
Ошибка 11.02.2015 11:29:39 NetXMS Win32 Agent 23 Отсутствует DB2: query 'SELECT count(*) FROM TABLE (mon_get_table('', '', -2)) WHERE data_sharing_state = 'NOT_SHARED'' failed
Ошибка 11.02.2015 11:29:39 NetXMS Win32 Agent 44 Отсутствует "SQL query failed (Query = ""SELECT count(*) FROM TABLE (mon_get_table('', '', -2)) WHERE data_sharing_state = 'NOT_SHARED'""): [IBM][CLI Driver][DB2/NT64] SQL0206N  ""DATA_SHARING_STATE"" недопустимо в контексте, где оно используется.  SQLSTATE=42703"
Ошибка 11.02.2015 11:29:39 NetXMS Win32 Agent 23 Отсутствует DB2: query 'SELECT count(*) FROM TABLE (mon_get_table('', '', -2)) WHERE data_sharing_state = 'SHARED'' failed
Ошибка 11.02.2015 11:29:39 NetXMS Win32 Agent 44 Отсутствует "SQL query failed (Query = ""SELECT count(*) FROM TABLE (mon_get_table('', '', -2)) WHERE data_sharing_state = 'SHARED'""): [IBM][CLI Driver][DB2/NT64] SQL0206N  ""DATA_SHARING_STATE"" недопустимо в контексте, где оно используется.  SQLSTATE=42703"
Ошибка 11.02.2015 11:29:39 NetXMS Win32 Agent 23 Отсутствует DB2: query 'SELECT sum(table_scans), sum(rows_read), sum(rows_inserted), sum(rows_updated), sum(rows_deleted),sum(overflow_accesses), sum(overflow_creates), sum(page_reorgs), sum(data_object_l_pages), sum(lob_object_l_pages),sum(long_object_l_pages), sum(index_object_l_pages), sum(xda_object_l_pages), sum(no_change_updates),sum(lock_wait_time), sum(lock_wait_time_global), sum(lock_waits), sum(lock_waits_global), sum(lock_escals),sum(lock_escals_global), sum(data_sharing_remote_lockwait_count), sum(data_sharing_remote_lockwait_time),sum(direct_writes), sum(direct_write_reqs), sum(direct_reads), sum(direct_read_reqs), sum(object_data_l_reads),sum(object_data_p_reads), sum(object_data_gbp_l_reads), sum(object_data_gbp_p_reads),sum(object_data_gbp_invalid_pages), sum(object_data_lbp_pages_found), sum(object_data_gbp_indep_pages_found_in_lbp),sum(object_xda_l_reads), sum(object_xda_p_reads), sum(object_xda_gbp_l_reads), sum(object_xda_gbp_p_reads),sum(object_xda_gbp_invalid_pages), sum(object_xda_lbp_pages_found), sum(object_xda_gbp_indep_pages_found_in_lbp),sum(num_page_dict_built), sum(stats_rows_modified), sum(rts_rows_modified), sum(col_object_l_pages),sum(object_col_l_reads), sum(object_col_p_reads), sum(object_col_gbp_l_reads), sum(object_col_gbp_p_reads),sum(object_col_gbp_invalid_pages), sum(object_col_lbp_pages_found), sum(object_col_gbp_indep_pages_found_in_lbp),sum(num_columns_referenced), sum(section_exec_with_col_references) FROM TABLE (mon_get_table('', '', -2))' failed
Ошибка 11.02.2015 11:29:39 NetXMS Win32 Agent 44 Отсутствует "SQL query failed (Query = ""SELECT sum(table_scans), sum(rows_read), sum(rows_inserted), sum(rows_updated), sum(rows_deleted),sum(overflow_accesses), sum(overflow_creates), sum(page_reorgs), sum(data_object_l_pages), sum(lob_object_l_pages),sum(long_object_l_pages), sum(index_object_l_pages), sum(xda_object_l_pages), sum(no_change_updates),sum(lock_wait_time), sum(lock_wait_time_global), sum(lock_waits), sum(lock_waits_global), sum(lock_escals),sum(lock_escals_global), sum(data_sharing_remote_lockwait_count), sum(data_sharing_remote_lockwait_time),sum(direct_writes), sum(direct_write_reqs), sum(direct_reads), sum(direct_read_reqs), sum(object_data_l_reads),sum(object_data_p_reads), sum(object_data_gbp_l_reads), sum(object_data_gbp_p_reads),sum(object_data_gbp_invalid_pages), sum(object_data_lbp_pages_found), sum(object_data_gbp_indep_pages_found_in_lbp),sum(object_xda_l_reads), sum(object_xda_p_reads), sum(object_xda_gbp_l_reads), sum(object_xda_gbp_p_reads),sum(object_xda_gbp_invalid_pages), sum(object_xda_lbp_pages_found), sum(object_xda_gbp_indep_pages_found_in_lbp),sum(num_page_dict_built), sum(stats_rows_modified), sum(rts_rows_modified), sum(col_object_l_pages),sum(object_col_l_reads), sum(object_col_p_reads), sum(object_col_gbp_l_reads), sum(object_col_gbp_p_reads),sum(object_col_gbp_invalid_pages), sum(object_col_lbp_pages_found), sum(object_col_gbp_indep_pages_found_in_lbp),sum(num_columns_referenced), sum(section_exec_with_col_references) FROM TABLE (mon_get_table('', '', -2))""): [IBM][CLI Driver][DB2/NT64] SQL0206N  ""NO_CHANGE_UPDATES"" недопустимо в контексте, где оно используется.  SQLSTATE=42703"



Как правильно настроить подключение?
Заранее спасибо!

Victor Kirhenshtein

По XML - скорее всего на Windows ему не нравится / как разделитель пути к файлу - поставьте \.

У пользователя, которым подключается агент, должно быть право EXECUTE на функцию MON_GET_TABLE. Возможно проблема в том что нет прав на эту функцию.

vitabios

Подключаюсь с полными правами  под db2 admin.
Слеш в какую сторону я только не делал,  все равно такая  ошибка

Victor Kirhenshtein

А какая версия DB/2 сервера и клиента?

vitabios

Db2 9.7.700
Агент установлен на сервере DB2