我用VB带的打包程序打包了文件,在另一台电脑上安装,运行时提示未找到数据库在C:\WINDOWS\system32\database\data.mdb  我在C:\WINDOWS\system32 下建一个database文件夹,把需要的数据库文件data.mdb拷进去,就可以用了。是为什么呢?我打包也没设置数据库啊,原程序的数据库在D盘没在C:\WINDOWS\system32下啊,怎么会连那去哦。求解

解决方案 »

  1.   

    工程文件在D盘,数据库文件也在D盘Public Sub Main()
     g_DBPath = App.Path & "\Database\ManageClient.mdb"
       'MsgBox g_DBPath
      If ConnectToDatabase(DBAccess) = False Then
        Err.Raise vbObjectError + 1, , "连接数据库出错!|" + App.Path + "|"
      End If
    End Sub'连接到数据库
    Public Function ConnectToDatabase(DBType As gxcDBType) As Boolean
      On Error GoTo ERR_CONN
      Set g_Conn = New Connection
      
      '设置服务器名称,数据库名称,登录名(此时假设密码为空)
      Dim ServerName As String, DBName As String, UserName As String, strPwd As String
      '这些是为连接Sql Server而用
      ServerName = "localhost"
      DBName = "ManageClient"
      UserName = "sa"
      strPwd = ""
      
      '连接到数据库
      With g_Conn
         .CursorLocation = adUseClient
         .CommandTimeout = 10
         
         If DBType = DBAccess Then
           ' 连接到ACCESS数据库
            .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Password='';" & _
            "Data Source=" & g_DBPath
         Else
          ' 连接到SQL Server数据库
            .ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=True;" & _
            "User ID=" & UserName & ";Initial Catalog=" & DBName & _
            ";Data Source=" & ServerName & ";pwd=" & strPwd
         End If
         .Open
      End With
      ConnectToDatabase = True
      Exit Function
      
    ERR_CONN:
      ConnectToDatabase = False
      MsgBox Err.Description
      
    End Function
      

  2.   

    应用程序被放到了 system32 下。
    打包有问题。
      

  3.   

    工程文件在D盘,数据库文件也在D盘g_DBPath = App.Path & "\Database\ManageClient.mdb"
      

  4.   

    代码中用app.path代表程序所在目录,将数据库与程序放在同一目录下就可以
      

  5.   

    检查adodc属性中是否有数据库连接串,有删除。
      

  6.   

    vb 自带打包软件不好使,经常会遇到安装不了的情况。
    换个吧,我现在用setupfactory