2

VB 2010 から Access 2010 テーブルにデータを書き込もうとしています。VB コードは次のとおりです。

        Dim cn As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\ssr2011f\be\ssrAnalysisTWEAK.ACCdb")
        cn.Open()
        Dim Str As String = "insert into BSP1 values(" & CInt(pcValue) & ",'" & (hsName) & ") "
        Dim cmd As New System.Data.OleDb.OleDbCommand(Str, cn)
        Dim icount As Integer = cmd.ExecuteNonQuery

「cn.Open()」行で次のエラーが発生します。

タイプ 'System.InvalidOperationException' の初回例外が System.Data.dll で発生しました

接続文字列 "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\ssr2011f\be\ssrAnalysisTWEAK.ACCdb;" を使用してこのエラーも発生しました。私の Windows のバージョンは 7.0 です。

接続が失敗するのはなぜですか?

4

1 に答える 1

1

以前、64 ビット オペレーティング システムを実行しているコンピューターで開発中に、Access データベースをバック エンドとして使用しているときに、このようなエラーを見たことがあります。

Visual Studio プロジェクトのコンパイル オプションで x86 プラットフォームを明示的に対象にしてみてください。

ソリューション エクスプローラーでプロジェクトを右クリックし、[プロパティ] を選択します。

コンパイルタブを選択

[高度なコンパイル オプション] ボタンをクリックします。

[ターゲット CPU ] ドロップダウンで、[AnyCPU] ではなく [x86] を選択します。

これを行ったとき、エラーなしでコードを実行できました(もちろん、自分のアクセスDBを指しています)。

それが役に立てば幸い。

于 2014-08-14T17:41:08.343 に答える