当前位置: 代码迷 >> DB2 >> 如何用SQL获取DB2表空间信息
  详细解决方案

如何用SQL获取DB2表空间信息

热度:3124   发布时间:2013-02-26 00:00:00.0
怎么用SQL获取DB2表空间信息
如题,高分求援,用什么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);
  相关解决方案