在我的机子上可以得到局域网的所有装有SQL SERVER的机子,在别的机子上运行我的程序,却没有自己本机的服务器名,还请指教

解决方案 »

  1.   

    你的代码可能依赖于某个动态链接库(可能是SQLDMO.dll,这个文件只有装了SQL SERVER的机器才有)
      

  2.   

    没错,就是SQLDMO的问题,只有安装了SQL Server客户端或服务器端才有的,不过你可以拷贝过去试试自注册.
      

  3.   

    uses comobj;procedure TForm1.FormShow(Sender: TObject);
    var
      SQLServer:Variant;
      ServerList:Variant;
      i:integer;
    begin
     SQLServer := CreateOleObject('SQLDMO.Application');
     ServerList:= SQLServer.ListAvailableSQLServers;
     if serverlist.count<1 then application.Terminate
     else
      begin
      combobox1.Items.Clear;
       for i:=1 to serverlist.count do
       combobox1.Items.Add(serverlist.item(i)) ;
      end;
     SQLServer:=NULL;
     serverList:=NULL;end;
    我们的机子上都装有SQL SERVER,我的权限是admin,最高权限