0

私は実験的なプロジェクトに取り組んでおり、Microsoft Access データベースを自分のプログラムに接続しようとすると問題が発生し、接続しようとするとvisual basic 2008 express次のメッセージが表示され続けます。

「Microsoft.Jet.OLEDB.4.0C:\Users\lewis\Documents\programming\programs\cadet ストア プログラム\スクアドロン ストア システム V1.1\スクアドロン ストア システム V1.1\ストア データベース\213 スクアドロン ストア.mdb」プロバイダがローカル マシンに登録されていません。」

調査の結果、32 ビット ソフトウェアで 64 ビット オペレーティング システムを使用しているため、問題が発生する可能性があることがわかりました。私が感謝する助けや提案

これは私が現在使用しようとしている方法です:

Dim con As New OleDb.OleDbConnection
    Dim dbProvider As String
    Dim dbSource As String

    dbProvider = "Provider=Microsoft.Jet.OLEDB.4.0"
    dbSource = "C:\Users\lewis\Documents\programming\programs\cadet stores program\squadron stores system V1.1\squadron stores system V1.1\stores database\213 squadron stores.mdb"

    con.ConnectionString = dbProvider And dbSource
    con.Open()

以下に示すように、構文を書き直しました。

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    Dim con As New OleDb.OleDbConnection
    Dim connString As String

    connString = "Provider = Microsoft.Jet.OLEDB.4.0;"
    connString &= "C:\Users\lewis\Documents\programming\programs\cadet stores program\squadron stores system V1.1\squadron stores system V1.1\stores database\213 squadron stores.mdb;"
    con.ConnectionString = connString

    con.Open()

    MessageBox.Show("Conection open")

End Sub

ただし、次のエラー メッセージが表示されるようになりました。

「初期化文字列の形式が、インデックス 35 から始まる仕様に準拠していません。」

接続が機能するようになりました。ご協力いただきありがとうございます

どうもありがとう

ルイス

4

1 に答える 1

0

これは間違っています:

' And does not concatenate strings
con.ConnectionString = dbProvider And dbSource

あなたがおそらく意味したのは:

con.ConnectionString = dbProvider & ";" & dbSource

また

connString = "Provider=Microsoft.Jet.OLEDB.4.0; "   ' end with a ;
connString &= "Data Source = C:\Users\lewis..."

con.ConnectionString = connString   

I am using a 64 bit operating system with 32 bit softwareこれがプロジェクトが 32 ビットであることを意味する場合、問題はないはずですが、64 ビット モードでの OLEDb 4.0 の使用に関する情報については、こちらを参照してください。

于 2013-10-29T13:53:37.380 に答える