如题,高分求援,用什么SQL语句可以获取到DB2的表空间名,再用什么语句可以获取DB2各表空间的具体信息。
或者,如果不用SQL,DB2的LIB库里面有哪些接口能够获取表空间名,哪些接口能够获取各表空间的具体信息。如果只是用list tablespaces show detail来获取所有表空间的信息就算了,我没办法把这个命令放在C++程序里面实现。
方法越详细越好,对于DB2,我实在是太陌生了。只要能够解决问题,分数不成问题。
------解决方案--------------------------------------------------------
不知道你要查询什么信息
SYSIBM.SYSTABLESPACES
SYSIBM.SYSTBSPACEAUTH
这两个表能查到一些
------解决方案--------------------------------------------------------
tsinfo.sqc -- How to get information at the table space level (C)
from IBM information center
/****************************************************************************
**
** SOURCE FILE NAME: tsinfo.sqc
** DB2 API USED:
** sqlbstpq -- Single Tablespace Query
** sqlbgtss -- Get Tablespace Statistics
** sqlbmtsq -- Tablespace Query
** sqlefmem -- Free Memory
** sqlbotsq -- Open Tablespace Query
** sqlbftpq -- Fetch Tablespace Query
** sqlbctsq -- Close Tablespace Query
** sqlbtcq -- Tablespace Container Query
** sqlbotcq -- Open Tablespace Container Query
** sqlbftcq -- Fetch Tablespace Container Query
** sqlbctcq -- Close Tablespace Container Query
**
** OUTPUT FILE: tsinfo.out (available in the online documentation)
*****************************************************************************
** For the latest information on programming, building, and running DB2
** applications, visit the DB2 Information Center:
** http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp
****************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sqlenv.h>
#include <sqlutil.h>
#include <db2ApiDf.h>
#include "utilemb.h"
int SingleTablespaceInfoGet(void);
int AllTablespacesInfoGetUsingHigherLevelAPIs(void);
int AllTablespacesInfoGetUsingLowerLevelAPIs(void);
int AllTablespaceContainersInfoGetUsingHigherLevelAPIs(void);
int AllTablespaceContainersInfoGetUsingLowerLevelAPIs(void);
/* support functions */
int TablespaceInfoDisplay(struct SQLB_TBSPQRY_DATA, struct SQLB_TBS_STATS);
int ContainerInfoDisplay(struct SQLB_TBSCONTQRY_DATA);
int main(int argc, char *argv[])
{
int rc = 0;
char dbAlias[SQL_ALIAS_SZ + 1];
char user[USERID_SZ + 1];
char pswd[PSWD_SZ + 1];
/* check the command line arguments */
rc = CmdLineArgsCheck1(argc, argv, dbAlias, user, pswd);