0

こんにちは、VB 経由で MS ACCESS DB にアクセスしようとすると、 エラー [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified が表示されます。

私はやった:

  • IIS マネージャー - アプリケーション プールの App32 ビットを true に変更します。
  • ダウンロードした Access 用 DB ドライバー
  • Access クライアントをインストールする

現時点では何も機能していません。2台の異なるコンピューターから試しました

これは私のコードです

Private Sub Button1_Click (System.Object としての ByVal 送信者、System.EventArgs としての ByVal e) は、Button1.Click を処理します。

    Dim vConnectionStringX As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\1767631\db_Assign_2.accdb;Persist Security Info=False;"
    Dim rtfConn As New Data.Odbc.OdbcConnection(vConnectionStringX)
    rtfConn.Open()






    Dim cusFName As String = TextBox1.Text
    Dim cusLName As String = TextBox2.Text
    Dim cusTP As String = TextBox3.Text
    Dim cusEmail As String = TextBox4.Text

    Dim vSQL As String = "Insert into Customer(FirstName, LastName, Telephone, Email) Values (" & cusFName & "," & cusLName & "," & cusTP & "," & "cusEmail"")"

    Try
        Dim rtfSQLCMD As New Data.Odbc.OdbcCommand
        rtfSQLCMD.Connection = rtfConn
        rtfSQLCMD.CommandText = vSQL
        Dim vResult As Integer = rtfSQLCMD.ExecuteNonQuery
        MessageBox.Show("Customer registered! " & vResult)

    Catch ex As Data.Odbc.OdbcException
        Dim vErMsg As String = "*** Error occured while registering the customer ***" & ControlChars.NewLine

    End Try

    rtfConn.Close()

End Sub

助けてください!

4

2 に答える 2

0

接続文字列は OleDb 接続用であり、Odbc には有効ではありません。OdbcConnection には次のようなものを使用する必要があります。

Dim vConnectionStringX As String = "Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\db1.mdb"

また、アクセス データベースを「.mdb」ファイルとして保存する必要があります (例: Ms Access 2000 - 2003 形式)。

注:別のオプションもあります。Odbc を使用する理由がない場合、Microsoft Access データベースに通常使用される OleDb を使用しないのはなぜですか? OleDb を使用する場合は、元の (現在の) 接続文字列を使用する必要がありますがOleDbConnection、接続変数やOleDbCommandコマンド変数などには使用してください。

于 2013-09-24T06:01:38.813 に答える