第一次来这里提问,哪位高手帮我解决一下VB单机变网络版的问题
我有一套单机版的管理系统(VB+ACCESS),现在想变成网络版,改数据库链接的办法我已经知道了,而且试过,可以用,不过因为我们领导说要做一套完整的系统,就是生成setup文件,在客户端安装就用setup文件来安装,然后无论数据库改到局域网内哪台电脑上,最后都可以通过输入电脑名来实现链接数据库,如果每次都要在代码中改链接好像不科学。关键是数据库领导说要用access的,所以想实现这个功能很疑惑,哪位高手教教我该怎么改才能实现呢,谢谢啦。

解决方案 »

  1.   

    如果对数据库的操作比较频繁或并发操作比较多,则还是建议使用SQL数据库
      

  2.   

    那如果一定要用access来做,有什么办法来实现这个功能吗?再苦再累也没办法啊……
      

  3.   

    建立一个UDL后缀的文件,里面的内容用记事本编辑:
    内容如下:
    [oledb]
    ; Everything after this line is an OLE DB initstring
    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\服务器名或IP地址\你的ACCESS数据库名;Persist Security Info=False代码中的连接字符串用一个变量代替.如:
    ConnectString = "File Name=" + App.Path + "\datalink.udl;"打包时,把这个UDL文件打进去,再在客户机上安装,如服务器有改变,不必修改代码,只须在每台客户机上修改UDL文件即可.
      

  4.   

    把读取数据库的操作写成组件与ACCESS数据库放在服务器上,通过WEB Service调用做成三层结构
      

  5.   

    西门吹雪大哥啊,我照你的改法,不过它报“此文件不是一个复合的有效文件”错误啊。链接代码是不是不对啊,帮我看一下吧,谢谢啦。Dim strConnect As String
    strConnect = "File Name=" + App.Path + "\test.udl;"  
    Set connConnection = New ADODB.Connection
    connConnection.CursorLocation = adUseClient
    connConnection.Open strConnect 
      

  6.   

    西门吹雪大哥啊,前面打错了,现在代码如下:
    strProvider="Provider=Microsoft.Jet.OLEDB.4.0;"
    connectString = "File Name=" + App.Path + "\test.udl;"
    strDataSource = "Data Source=" & connectString 
    strConnect = strProvider & strDataSource
    Set connConnection = New ADODB.Connection
    connConnection.CursorLocation = adUseClient
    connConnection.Open strConnect 
    现在提示“文件名无效”,我在目录下面已经建立了那个udl文件,到底哪里错了?帮帮我吧,谢谢!
      

  7.   

    你可以在模块中定义一个设置连接字符串的公共函数,这样可以在每次设置连接字符串时可以少写代码了,如:
    Public Function strConnect() _
       As String          
      ConnectString = "File Name=" + App.Path + "\test.udl;"         
    End Function再在要用到连接字符串的时候直接调用该函数即可.如:
    dim connConnection as adodb.connection '你还定义连接对象,一般要先定义,再实例化
    Set connConnection = New ADODB.Connection '对象实例化
    connConnection.CursorLocation = adUseClient
    connConnection.Open strConnect还有,既然你用ACCESS数据库,那记得要把数据库目录共享哦.这样才能让多台客户机来操作你的数据库.我想这样应该可以了.