InstallShield高级应用--测试SQL Server是否可连接
2012-05-11 11:10
459 查看
实现原理:SQLServer数据库连接是使用SQL Server实现的。
通过SQLServer连接数据库字符串,使用“ADODB.Connection“对象,连接到Access数据库,
再使用“ADODB.Recordset”对象,通过查询一张已存在的表Select name from sysdatabases where name='master',判断是否成功。
注意:当前电脑必包含ADODB.Connection和ADODB.Recordset这二个对象。
源码:
prototype BOOL DB_CheckSQLServerCon(BYREF STRING,STRING,BYREF STRING,BYREF STRING,BYREF STRING);
//============================================================//
//function : DB_CheckSQLServerCon //
// //
//purpose: 测试SQL Server是否可连接 //
// //
//Argment: svServerName-SQL Server连接服务名称 //
// svUserName-登录帐号 //
// svUserPassword-登录密码 //
// szError-错误提示信息 //
//return: TRUE -连接成功 FALSE - 连接失败 //
//Remark: 本验证使用 SQL Server 验证 //
//============================================================//
function BOOL DB_CheckSQLServerCon(svServerName,szDatabase,svUserName, svUserPassword,szError)
OBJECT pADOConnObj, pADORecordSetObj;
STRING szADOConnObjID, szADORecordSetObjID, szConnString, szSQL,svDriver;
BOOL bExists;
begin
bExists = FALSE;
svDriver = "SQL Server";
try
// Create ADO Connection Object to connect to the SQL server
szADOConnObjID = "ADODB.Connection";
set pADOConnObj = CreateObject(szADOConnObjID);
// Create the SQL string to complete the connection
szConnString = "driver={" + svDriver + "};";
szConnString = szConnString + "server=" + svServerName + ";";
szConnString = szConnString + "uid=" + svUserName + ";";
szConnString = szConnString + "pwd=" + svUserPassword + ";";
if(szDatabase !="") then
szConnString = szConnString + "database=" + szDatabase + ";";
endif;
// Open the ADO Connection
pADOConnObj.Open(szConnString);
pADOConnObj.Close();
bExists = TRUE;
/*// Create ADO Recordset object for the return
szADORecordSetObjID = "ADODB.Recordset";
set pADORecordSetObj = CreateObject(szADORecordSetObjID);
// Set some ADO Recordset properties
pADORecordSetObj.CursorType = 3;
pADORecordSetObj.ActiveConnection = pADOConnObj;
// Create the SQL string to retrieve the database if it exists
szSQL = "Select name from sysdatabases where name='" + "master" + "'";
// Use the recordset to see if the database exists
pADORecordSetObj.Open(szSQL);
if (pADORecordSetObj.RecordCount = 1) then
bExists = TRUE;
endif; */
catch
//nErr =Err.Number;
Sprintf(szError,"Error!Number:%d;",Err.Number);
szError = szError +"Desc:"+Err.Description;
bExists = FALSE;
//Clean up
set pADOConnObj = NOTHING;
endcatch;
set pADOConnObj = NOTHING;
return bExists;
end;
通过SQLServer连接数据库字符串,使用“ADODB.Connection“对象,连接到Access数据库,
再使用“ADODB.Recordset”对象,通过查询一张已存在的表Select name from sysdatabases where name='master',判断是否成功。
注意:当前电脑必包含ADODB.Connection和ADODB.Recordset这二个对象。
源码:
prototype BOOL DB_CheckSQLServerCon(BYREF STRING,STRING,BYREF STRING,BYREF STRING,BYREF STRING);
//============================================================//
//function : DB_CheckSQLServerCon //
// //
//purpose: 测试SQL Server是否可连接 //
// //
//Argment: svServerName-SQL Server连接服务名称 //
// svUserName-登录帐号 //
// svUserPassword-登录密码 //
// szError-错误提示信息 //
//return: TRUE -连接成功 FALSE - 连接失败 //
//Remark: 本验证使用 SQL Server 验证 //
//============================================================//
function BOOL DB_CheckSQLServerCon(svServerName,szDatabase,svUserName, svUserPassword,szError)
OBJECT pADOConnObj, pADORecordSetObj;
STRING szADOConnObjID, szADORecordSetObjID, szConnString, szSQL,svDriver;
BOOL bExists;
begin
bExists = FALSE;
svDriver = "SQL Server";
try
// Create ADO Connection Object to connect to the SQL server
szADOConnObjID = "ADODB.Connection";
set pADOConnObj = CreateObject(szADOConnObjID);
// Create the SQL string to complete the connection
szConnString = "driver={" + svDriver + "};";
szConnString = szConnString + "server=" + svServerName + ";";
szConnString = szConnString + "uid=" + svUserName + ";";
szConnString = szConnString + "pwd=" + svUserPassword + ";";
if(szDatabase !="") then
szConnString = szConnString + "database=" + szDatabase + ";";
endif;
// Open the ADO Connection
pADOConnObj.Open(szConnString);
pADOConnObj.Close();
bExists = TRUE;
/*// Create ADO Recordset object for the return
szADORecordSetObjID = "ADODB.Recordset";
set pADORecordSetObj = CreateObject(szADORecordSetObjID);
// Set some ADO Recordset properties
pADORecordSetObj.CursorType = 3;
pADORecordSetObj.ActiveConnection = pADOConnObj;
// Create the SQL string to retrieve the database if it exists
szSQL = "Select name from sysdatabases where name='" + "master" + "'";
// Use the recordset to see if the database exists
pADORecordSetObj.Open(szSQL);
if (pADORecordSetObj.RecordCount = 1) then
bExists = TRUE;
endif; */
catch
//nErr =Err.Number;
Sprintf(szError,"Error!Number:%d;",Err.Number);
szError = szError +"Desc:"+Err.Description;
bExists = FALSE;
//Clean up
set pADOConnObj = NOTHING;
endcatch;
set pADOConnObj = NOTHING;
return bExists;
end;
相关文章推荐
- InstallShield高级应用--测试ORACL是否可连接
- InstallShield高级应用--测试Access是否可连接
- InstallShield高级应用--检查是否安装ORACLE或SQL Server
- InstallShield高级应用--检查是否安装ORACLE或SQL Server
- 测试sql server连接是否成功
- InstallShield高级应用----判断是否是本机
- 测试数据库连接是否正常 Sql server 2005
- 测试与SQL Server的连接是否正常
- 测试nfs在有数据活动时断线后是否能重新连接上
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服 务器。请验证实例名称是否正确并且 SQL Server 已配置为允
- 测试php与mysql的连接是否成功的多种方法
- 轻松测试虚拟主机SQL连接是否正常
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL 网络接口, error: 26 - 定
- telnet命令 测试端口连接是否正常
- VS2008连接SQL Server数据库文件出现“与SQL Server文件(*.mdf)的连接要求安装SQL Server2005才能正常工作,请确认是否安装了该组件,……”
- 比较好的方式管理我们的应用判断,比如Activity跳转,网络是否连接,判断json....
- redis 由浅入深之 高级(数据备份与恢复、安全、性能测试和客户端连接)
- jdbc连接各种数据库方式列表 And Servlet开发中JDBC的高级应用
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL