Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用C++; 问题:我希望使用C++代码来获得SQL Server和/或Oracle数据库的总大小(最好是MBS)。p>_C++_Sql Server 2008_Oracle11g_Mfc - Fatal编程技术网

如何使用C++; 问题:我希望使用C++代码来获得SQL Server和/或Oracle数据库的总大小(最好是MBS)。p>

如何使用C++; 问题:我希望使用C++代码来获得SQL Server和/或Oracle数据库的总大小(最好是MBS)。p>,c++,sql-server-2008,oracle11g,mfc,C++,Sql Server 2008,Oracle11g,Mfc,我尝试过的: 目前,我正在使用SQLGetInfo()检索有关当前数据库连接的信息。我传入一个包含所有数据库信息的struct。然后,我使用该结构向用户显示数据库信息 //Used to gather information about the connected database HRESULT GetInfo(DB_CONN_INFO &info) { SWORD cbValue; SQLGetInfo(sqlc.g_hdbc, SQL_DATA_SOURCE_NA

我尝试过的: 目前,我正在使用
SQLGetInfo()
检索有关当前数据库连接的信息。我传入一个包含所有数据库信息的
struct
。然后,我使用该结构向用户显示数据库信息

//Used to gather information about the connected database
HRESULT GetInfo(DB_CONN_INFO &info)
{   
   SWORD cbValue;
   SQLGetInfo(sqlc.g_hdbc, SQL_DATA_SOURCE_NAME,
          info.szDSN, sizeof(info.szDSN), &cbValue);
   SQLGetInfo(sqlc.g_hdbc, SQL_DATABASE_NAME,
          info.szDatabase, sizeof(info.szDatabase), &cbValue);
   SQLGetInfo(sqlc.g_hdbc, SQL_DBMS_NAME,
          info.szDbmsName, sizeof(info.szDbmsName), &cbValue);
   SQLGetInfo(sqlc.g_hdbc, SQL_DBMS_VER,
          info.szDbmsVer, sizeof(info.szDbmsVer), &cbValue);
   SQLGetInfo(sqlc.g_hdbc, SQL_DRIVER_NAME,
          info.szDriverName, sizeof(info.szDriverName), &cbValue);
   SQLGetInfo(sqlc.g_hdbc, SQL_DRIVER_VER,
          info.szDriverVer, sizeof(info.szDriverVer), &cbValue);
   SQLGetInfo(sqlc.g_hdbc, SQL_DRIVER_ODBC_VER,
          info.szDriverOdbcVer, sizeof(info.szDriverOdbcVer), &cbValue);
   SQLGetInfo(sqlc.g_hdbc, SQL_ODBC_VER,
          info.szOdbcVer, sizeof(info.szOdbcVer), &cbValue);
   SQLGetInfo(sqlc.g_hdbc, SQL_SERVER_NAME,
          info.szServerName, sizeof(info.szServerName), &cbValue);
   return S_OK;
}
据我所知,
SQLGetInfo()
无法确定数据库的总大小。还有别的办法吗


我使用MFC C++,在Visual Studio 2010中.

< P> SQL Server,可以使用<代码> SPOSPEAUGE/<代码>。对于Oracle,您可以从数据文件中获取大小:
从dba_数据_文件中选择sum(bytes)/1024/1024(或
v$datafile
)。这是表的大小(对于日志文件:
从v$log中选择sum(bytes)/1024/1024;

sp_spaceused
这样的查询怎么样?谢谢@florisvellman。我已经在我的应用程序中实现了sp_spaceused,它非常适合SQL Server 2008。我仍在寻找一种在甲骨文中实现同样目标的方法。