1、在C/S应用程序中,数据库的安装程序应怎样做。
2、在C/S应用程序中,客户端发何知道所安装的数据库位于的服务器名。

解决方案 »

  1.   

    1,数据库的安装,可以用数据库还原的办法,也可以在服务器端第一次运行的时候新建一个数据库,里面的表啊字段啊,就得用你的代码写了,不知道安装打包工具有没有这样的功能呢
    2,可以由服务器端不断的发出网络广播,把自己的计算机名发出去,sql server2000可以编代码实现,以下是copy别人的。在工程-引用里面引用:Microsoft SQLDMB Object Library 
    private sub from_load()
    '获取局域网SQL server服务器名称添加到组合框
        Dim dmo As SQLDMO.NameList
        Dim server As New SQLDMO.Application
        Dim i As Long
        Set dmo = server.ListAvailableSQLServers
        For i = 1 To dmo.Count
            servername.AddItem dmo(i)
        Next i
        servername.ListIndex = servername.ListCount - 2
    end sub
    '引用Microsoft SQLDMO Object Library
    '局域网里搜索SQL服务器
    '可以列出局域网内注册或未注册的SQL服务器
    '参数:用于显示服务器名的组合框
    Public Function GetLocalSQLServer(ByRef cmbServer As ComboBox) As Boolean
        Dim oSQLServerDMOApp   As SQLDMO.Application
        Dim oServerGroup   As SQLDMO.ServerGroup
        Dim oRegisteredServer   As SQLDMO.RegisteredServer
        Dim i   As Integer, j   As Integer
        Dim namX   As NameList
        Dim blnEquate As Boolean
        
        Screen.MousePointer = 11
        
        Set oSQLServerDMOApp = New SQLDMO.Application
        
        cmbServer.Clear
        '首先显示的是注册了的数据库
        '处理所有服务器组
        For Each oServerGroup In oSQLServerDMOApp.ServerGroups
            '处理每个注册了的服务器
            For Each oRegisteredServer In oServerGroup.RegisteredServers
                '添加每个名字到  combobox
                cmbServer.AddItem oRegisteredServer.Name
            Next
        Next
        Set oRegisteredServer = Nothing
        Set oServerGroup = Nothing    '接下来显示尚未注册的数据库
        Set namX = oSQLServerDMOApp.ListAvailableSQLServers
        For i = 1 To namX.Count
            blnEquate = False
            '检查该服务器是否已经被列出来
            For j = 0 To cmbServer.ListCount - 1
                If cmbServer.List(j) = namX.Item(i) Then
                    blnEquate = True
                    Exit For '退出内圈循环
                End If
            Next j
            If blnEquate = False Then
                cmbServer.AddItem namX.Item(i)
            End If
        Next i
        
        '显示第一个服务器
        If cmbServer.ListCount > 0 Then
            cmbServer.ListIndex = 0
        End If
        
        Set namX = Nothing
        Set oSQLServerDMOApp = Nothing
        
        Screen.MousePointer = 0
    End Function
      

  2.   

    谢谢,
    那么客户端连接SQLSERVER2000时的datasouce中的severname的获取是否可以用上面的方法。
    服务器的数据库的安装如何用代码来实现。
      

  3.   

    我记得VB中有 个SQL..MODE的对象,你看一下MSDN试试,有这个方面的东西
      

  4.   

    把数据库用SQL语句实现
    先写好SQL语句,,不知道可以用SQL SERVER生成
    然后再一句两句的EXECUTE SQL语句..
    试试看
      

  5.   

    TO null1027(最近比较烦)  :
       能回答我的问题吗?谢谢!
      

  6.   

    to 楼主:
        我贴出的代码就是用于获取客户端连接SQLSERVER2000时的datasouce中的severname的。
        服务器的数据库的安装用数据库来实现的话,给一个数据库添加表的代码我可以找到,到处都有,各种书上都可以看见,你需要我可以去找一些来,但是如何添加一个数据库我就不知道了,抱歉。