BIEE BI Server提供了很多ODBC存储过程,通过调用不过的存储过程,我们能完成对BI Server的管理、查询元数据等操作。
如果想要获得所有可用过程的列表请执行以下过程:
call NQSGetSQLProcedures('%','%','%')
注:执行的方法有很多,最方便的一种就是直接在web页面中,点击“管理”-“发出SQL语句”即可。如下图所示:
另外,还有其他方法,比如直接用nqcmd命令行程序,或者通过jdbc连接bi server执行。
获取可以过程列表之后,下一步是需要知道每种过程的使用方法,可以调用如下过程来获取:
call NQSGetSQLProcedureColumns('%','%','ODBC存储过程名','%')
例如,我们想要知道SAPurgeCacheByTable('%','%','%','%') 这四个参数分别都代表使用,就可以执行以下过程:
call NQSGetSQLProcedureColumns('%','%','SAPurgeCacheByTable','%')
返回结果如下:
PROCEDURE_CAT | PROCEDURE_SCHEM | PROCEDURE_NAME | COLUMN_NAME | COLUMN_TYPE | DATA_TYPE | TYPE_NAME | COLUMN_SIZE | BUFFER_LENGTH | DECIMAL_DIGITS | NUM_PREC_RADIX | NULLABLE | REMARKS | COLUMN_DEF | SQL_DATA_TYPE | SQL_DATETIME_SUB | CHAR_OCTET_LENGTH | ORDINAL_POSITION | IS_NULLABLE |
varchar | varchar | varchar | varchar | smallint | smallint | varchar | integer | integer | smallint | smallint | smallint | varchar | varchar | smallint | smallint | integer | integer | varchar |
SAPurgeCacheByTable | DATABASE_COMPONENT | 1 | 12 | VARCHAR | 128 | 128 | 0 | 0 | 0 | 12 | 0 | 0 | YES | |||||
SAPurgeCacheByTable | CATALOG_COMPONENT | 1 | 12 | VARCHAR | 128 | 128 | 0 | 0 | 1 | 12 | 0 | 1 | YES | |||||
SAPurgeCacheByTable | SCHEMA_COMPONENT | 1 | 12 | VARCHAR | 128 | 128 | 0 | 0 | 1 | 12 | 0 | 2 | YES | |||||
SAPurgeCacheByTable | TABLE_COMPONENT | 1 | 12 | VARCHAR | 128 | 128 | 0 | 0 | 0 | 12 | 0 | 3 | YES | |||||
SAPurgeCacheByTable | RESULT_CODE | 3 | 4 | INTEGER | 12 | 4 | 0 | 0 | 0 | 4 | 0 | 0 | 0 | YES | ||||
SAPurgeCacheByTable | RESULT_MESSAGE | 3 | 12 | VARCHAR | 640 | 640 | 0 | 0 | 0 | 12 | 0 | 1 | YES |
其中比较重要的就是COLUMN_NAME、TYPE_NAME、COLUMN_SIZE及IS_NULLABLE这四列,
这样我们就可以知道参数1是rpd中的数据库名,参数2是CATALOG名,参数3是SCHEMA名,参数4是物理表名。
注:因为这些ODBC都是对bi server进行的操作,所以上面的参数都是指rpd中的对象
完。