Die Suche nach dem richtigen OleDb-Verbindungszeichenfolge VB.Net

Erstelle ich eine 32bit app auf einem alten XP-Rechner, diese app läuft auf Win7 oder höher als gut.

so, ich bin versuchen zu testen, was Verbindungszeichenfolge funktioniert. Wie:

Private Function test_ace_or_jet(ByVal mdb_path As String) As String
        Dim connString As String
        Dim dbMaintPort As OleDb.OleDbConnection

        connString = ""

        Try
            connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & mdb_path

            dbMaintPort = New OleDb.OleDbConnection(connString)
            dbMaintPort.Open()

            dbMaintPort.Close()

            MsgBox("1 was found")
        Catch ex As Exception
            MsgBox("Could not open 1" & vbCrLf & vbCrLf & ex.Message)
            Try
                connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & mdb_path
                dbMaintPort = New OleDb.OleDbConnection(connString)
                dbMaintPort.Open()
                dbMaintPort.Close()

                MsgBox("2 was found")
            Catch ex2 As Exception
                connString = ""
                MsgBox("Could not open 2" & vbCrLf & vbCrLf & ex2.Message)
            End Try
        End Try
        test_ace_or_jet = connString
    End Function

Jedoch das Problem, dass ich festgestellt habe, ist, dass auf der XP-Maschine, die erste Verbindungszeichenfolge nicht scheitern. Es hat nicht ACE installiert ist.

Wie kann ich testen, ob die eine oder die andere? Bin ich in der Lage, um die obige Funktion zu geben, mir die korrekte Verbindungszeichenfolge?

InformationsquelleAutor Hank | 2013-02-05

Schreibe einen Kommentar