用ADO连接数据库的连接字符串一般为:"driver={SQL Server};server=servername;uid=sa;pwd=123456;database=dbname;",对于命名实例数据库,服务器名称则要加上命名实例名,比如服务器为a,命名实例为b,则所用的连接字符串应为:"driver={SQL Server};server=a/b;uid=sa;pwd=123456;database=dbname",对于有多个命名实例的数据库,我如何得到所有的实例名称,请高手指教。谢谢!
命名实例
除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。应用程序必须提供准备连接的计算机的名称和命名实例的实例名。计算机名和实例名以格式 computer_name\instance_name 指定。
OSQL -L > C:\SERVERLIST.TXT
Variant SQLServer;
Variant ServerList;
int i,nServers;
String sRetValue;
try
{
SQLServer = CreateOleObject("SQLDMO.Application");
}
catch(...)
{
ShowMessage("需要SQL Server客户端软件支持...");
return;
}
ServerList= SQLServer.OleFunction("ListAvailableSQLServers");
nServers=ServerList.OlePropertyGet("Count");
for(i=1;i<=nServers;i++)
ValueListEditor1->InsertRow( IntToStr(i), ServerList.OleFunction("Item", i), 1);
SQLServer=Unassigned;
ServerList=Unassigned;