InstallShield高级应用--获取本机所有的SQL服务
2012-05-11 11:04
549 查看
//=====================================================================//
// //
// function GetSQLServers //
// //获取本机所有的SQL服务
// purpose get the local SQL servers //
// //
// argment //
// //
// return local SQL server list //
// //
// author chenhuicong 2010-12-24 //
// //
//=====================================================================//
EXPORT prototype LIST GetSQLServers();
function LIST GetSQLServers()
OBJECT objSqlServers,objItem,objAQLDMOApp;
string szSQLDMOSQLServer,szSQLDMOApp,szItem,szSQLServiceName1,szSQLServiceName;
LIST listID;
NUMBER nItemCnt,nStep,nType,nSize,nResult;
begin
/*nStep =0;
szSQLDMOApp ="SQLDMO.Application";
set objAQLDMOApp = CreateObject(szSQLDMOApp);
try
set objItem = objAQLDMOApp.ListAvailableSQLServers();
nItemCnt = objItem.Count;
nStep =1;
while(nStep < 5)
szItem = objItem.Item(nStep);
if(szItem[0] = "(" ) then
ListAddString (listID, szItem, AFTER);
endif;
nStep++;
endwhile;
catch
listID = NOTHING;
objItem = NOTHING;
endcatch;
if(szSQLServiceName1="") then
szSQLServiceName="MSSQL";
ListAddString (listID, szSQLServiceName, AFTER);
elseif(szSQLServiceName1!="MSSQLSERVER") then
szSQLServiceName="MSSQL$"+szSQLServiceName1;
ListAddString (listID, szSQLServiceName, AFTER);
else
szSQLServiceName=szSQLServiceName1;
ListAddString (listID, szSQLServiceName, AFTER);
endif;
*/
listID = ListCreate (STRINGLIST);
//获取服务器名称
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
nResult=RegDBGetKeyValueEx( "SOFTWARE\\Microsoft\\Microsoft SQL Server", "InstalledInstances", nType, szSQLServiceName1, nSize );
if(nResult < 0) then
szSQLServiceName="MSSQL" ;
else
ListAddString (listID, "(local)", AFTER);
endif;
nResult=RegDBGetKeyValueEx( "SOFTWARE\\Microsoft\\Microsoft SQL Server\\SQLEXPRESS\\Setup", "SQLPath", nType, szSQLServiceName1, nSize );
if(nResult < 0) then
szSQLServiceName="MSSQL" ;
else
ListAddString (listID, "(local)\\Express", AFTER);
endif;
return listID;
end;
// //
// function GetSQLServers //
// //获取本机所有的SQL服务
// purpose get the local SQL servers //
// //
// argment //
// //
// return local SQL server list //
// //
// author chenhuicong 2010-12-24 //
// //
//=====================================================================//
EXPORT prototype LIST GetSQLServers();
function LIST GetSQLServers()
OBJECT objSqlServers,objItem,objAQLDMOApp;
string szSQLDMOSQLServer,szSQLDMOApp,szItem,szSQLServiceName1,szSQLServiceName;
LIST listID;
NUMBER nItemCnt,nStep,nType,nSize,nResult;
begin
/*nStep =0;
szSQLDMOApp ="SQLDMO.Application";
set objAQLDMOApp = CreateObject(szSQLDMOApp);
try
set objItem = objAQLDMOApp.ListAvailableSQLServers();
nItemCnt = objItem.Count;
nStep =1;
while(nStep < 5)
szItem = objItem.Item(nStep);
if(szItem[0] = "(" ) then
ListAddString (listID, szItem, AFTER);
endif;
nStep++;
endwhile;
catch
listID = NOTHING;
objItem = NOTHING;
endcatch;
if(szSQLServiceName1="") then
szSQLServiceName="MSSQL";
ListAddString (listID, szSQLServiceName, AFTER);
elseif(szSQLServiceName1!="MSSQLSERVER") then
szSQLServiceName="MSSQL$"+szSQLServiceName1;
ListAddString (listID, szSQLServiceName, AFTER);
else
szSQLServiceName=szSQLServiceName1;
ListAddString (listID, szSQLServiceName, AFTER);
endif;
*/
listID = ListCreate (STRINGLIST);
//获取服务器名称
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
nResult=RegDBGetKeyValueEx( "SOFTWARE\\Microsoft\\Microsoft SQL Server", "InstalledInstances", nType, szSQLServiceName1, nSize );
if(nResult < 0) then
szSQLServiceName="MSSQL" ;
else
ListAddString (listID, "(local)", AFTER);
endif;
nResult=RegDBGetKeyValueEx( "SOFTWARE\\Microsoft\\Microsoft SQL Server\\SQLEXPRESS\\Setup", "SQLPath", nType, szSQLServiceName1, nSize );
if(nResult < 0) then
szSQLServiceName="MSSQL" ;
else
ListAddString (listID, "(local)\\Express", AFTER);
endif;
return listID;
end;
相关文章推荐
- InstallShield高级应用--获取机机所有ORACLE服务列表
- C#应用访问Microsoft SQL Server 2005分析服务
- SQL语句获取数据库名、所有表名、所有字段名及字段类型
- sql如何获取某一个表的所有字段名,并且有一个字段的统计数
- asp.net获取SQL所有数据库名、所有表名、所有字段名
- SQL语句来获取一个表的所有列的信息
- SQL 获取数据库里的所有表名
- 通过LoadBalancerClient获取所有服务列表的IP
- Android中如何获取加固后应用App的所有方法信息
- SQL一对多取子表最新记录的所有字段(ROW_NUMBER()OVER()函数的应用)
- T-SQL 高级应用之数据汇总(聚合函数之1 compute)
- SQL获取所有数据库的名字
- SQL获取所有数据库名、表名、储存过程以及参数列表
- 获取所有应用
- SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等
- InstallShield高级应用--检测系统ServerPack版本,SP2前不支持则 abort
- MSSQL SQL获取所有数据库名、表名、储存过程以及参数列表
- SQL脚本获取指定SQLServer数据库所有表及视图的字段列表及类型、长度
- Oracle 笔记(八)、PL/SQL 高级应用(游标、存储过程、函数、程序包)
- Android逆向之旅---获取加固后应用App的所有方法信息