用ADO连接命名实例数据库时连接字符串的问题

时间:2021-05-16 04:46:05
用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",对于有多个命名实例的数据库,我如何得到所有的实例名称,请高手指教。谢谢!

5 个解决方案

#1


命名实例

除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。应用程序必须提供准备连接的计算机的名称和命名实例的实例名。计算机名和实例名以格式 computer_name\instance_name 指定。

#2


谢谢。
我要访问另一台计算机上的所有数据库,默认实例当然容易访问,但要访问多个命名实例数据库,我必须要先知道实例名称,才能写出其连接字符串,进行连接,那我如何知道所有的命名实例名称呢?

#3


OSQL -L > C:\SERVERLIST.TXT

#4


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;

#5


我用的vb的前台,但是我在别人的机子*问我机子上的数据库时,
总是说我登录失败,请问怎么写连接字符串。才行,请给个实例说明一下,谢谢!

#1


命名实例

除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。应用程序必须提供准备连接的计算机的名称和命名实例的实例名。计算机名和实例名以格式 computer_name\instance_name 指定。

#2


谢谢。
我要访问另一台计算机上的所有数据库,默认实例当然容易访问,但要访问多个命名实例数据库,我必须要先知道实例名称,才能写出其连接字符串,进行连接,那我如何知道所有的命名实例名称呢?

#3


OSQL -L > C:\SERVERLIST.TXT

#4


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;

#5


我用的vb的前台,但是我在别人的机子*问我机子上的数据库时,
总是说我登录失败,请问怎么写连接字符串。才行,请给个实例说明一下,谢谢!