我用VB取某个服务器上的数据库,在我的机器上取是可以的, 但是放到客户那就不行,网络上取不到,怎么会事啊,急!!!!!!!!!!!!!!!!!!!!    Dim oSQLServer As SQLDMO.SQLServer
    '定义一个SQLDMO.SQLServer对象
    Set oSQLServer = CreateObject("SQLDMO.SQLServer")
    oSQLServer.Connect GetIniStr("System", "ServerName", App.Path & "\sysconfig.fig"), "sa", ""
    Dim oCurrentDB As SQLDMO.Database
    '获得SQL Server服务器上的所有数据库名称
    If bFill = True Then
        Dim oDB As New SQLDMO.Database
        For Each oDB In oSQLServer.Databases
            If oDB.SystemObject = False Then
                '判断其不是系统数据库
                TV1.Nodes.Add , , , oDB.Name, 1, 1
                '把非系统数据库名称添加到数据库信息列表框中
            End If
        Next oDB
    End If
这个是代码

解决方案 »

  1.   

    ServerName  --这个服务器名你写的是ip 还是  sql 服务器的名字  ?  
      

  2.   

    我本身的数据库连接是可以进系统的,但是现在我用这个就取不了服务器上的数据库还有另外一种方法我也试了,也是不行,就是用select name from master.dbo.sysdatabases取服务器上的数据库名,也不行,在我这是可以取到,但是客户那就取不到
    我本来想用 Select Name from (IP地址)Master.dbo.sysdatabases这样取,但是好象没有这个用法
      

  3.   

    与网络环境和一些杀毒软件或防火墙有关
    另外你所说的问题是指什么,(有可能缺少系统文件造成无法显示服务器数据库列表),需要安装SQLDMO相关的系统文件(建议用VB的打包工具来完成)
      

  4.   

    To 云中客
    SQLDMO相关文件我看到在sql安装目录下,是不是用注册就可以呢,还是要安装SQLServer?