为MS Access vb.net动态构建连接字符串

时间:2014-03-19 10:32:09

标签: vb.net ms-access

我们的遗留系统是ms访问我需要建立一个连接字符串diamically从一个ini文件中我已经从ini文件中获得了路径ok但是如何动态创建一个连接字符串,记住ini文件可以包含一个unc路径,即\ servername \ folder \ db.mdb

请不要问为什么访问这是一个遗留系统,我需要导入到.net

有人可以帮助,谢谢

我已尝试过以下但无法打开数据库

        Dim strFile As String = "C:\windows\figure.ini"
        Dim strRet As String
        Dim inifile As New IniFileManager

        strRet = inifile.ReadINI(strFile, "DATABASE SECTION", "FILENAME", "")

        Dim oleConn As System.Data.OleDb.OleDbConnection
        oleConn = New System.Data.OleDb.OleDbConnection

        oleConn = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0;" & _
                                                    "Data Source=" + strRet)

        Try
            oleConn.Open()
        Catch ex As Exception
            MsgBox("Failed to open Database")
        End Try

1 个答案:

答案 0 :(得分:1)

根据对问题的评论中的测试确定,应用程序以64位运行并尝试使用较旧的Microsoft.Jet.OLEDB.4.0提供程序。这将永远不会起作用,因为没有旧版Jet数据库引擎的64位版本。因此,您的选择是

  1. 告诉Visual Studio定位x86(32位)架构(参考:here),然后继续使用Microsoft.Jet.OLEDB.4.0提供程序,或

  2. here下载并安装较新的Microsoft Access数据库引擎(又名“ACE”)的64位版本,然后使用Microsoft.ACE.OLEDB.12.0提供程序。