問題タブ [aceoledb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1236 参照

64-bit - 64 ビット ACE OLEDB プロバイダーが SysFreeString でアクセス違反を引き起こす

私のアプリケーションでは、従来の理由から MS Access の mdb ファイルを使用しています。次の接続文字列で ADO を使用してデータベースに接続します。

Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=Dummy.mdb

最近、アプリケーションを 64 ビットに移植し始めました。そのため、Jet OLEDB プロバイダーは 64 ビット システムでは使用できません。次の接続文字列で ACE OLEDB プロバイダーを使用しました。

Provider=Microsoft.ACE.OLEDB.12.0;Persist Security Info=False;Data Source=Dummy.mdb

アプリケーションは、MS XML DOM を使用して XML ファイルを操作します。64 ビット バージョンは、MS XML ラッパー メソッドの 1 つから呼び出される SysFreeString のアクセス違反例外でクラッシュすることがあります。32 ビット版ではこれらの問題はありません。問題をテスター アプリケーションに抽出しました。

クラッシュ コール スタックは次のとおりです。

クラッシュ時、DB スレッドは常に次の状態にあります。

回避策として、空のデータベース ファイルへの接続を 1 つ開いたままにしておくと、実際のデータベース ファイルへの接続を開いたり閉じたりすることができ、アプリケーションがクラッシュしないことがわかりました。とにかく、クラッシュの実際の原因を理解したいと思います。提案をいただければ幸いです。

私の構成は次のとおりです。

Microsoft Visual Studio 2005 バージョン 8.0.50727.4039 (QFE.050727-4000)
Windows Server 2008 R2 Standard 64 ビット
プロセッサ: Intel(R) Xeon(R) E5645 @ 2.40GHz
メモリ: 16.0 GB

0 投票する
1 に答える
42 参照

c# - 必須パラメーターに値が指定されていません

アカウント番号を使用してアカウントのニックネームを更新するボタンを作成しようとしていますが、エラーが発生します。

ここに画像の説明を入力

0 投票する
11 に答える
324195 参照

sql-server - 'Microsoft.ACE.OLEDB.16.0' プロバイダーがローカル コンピューターに登録されていません。(システム.データ)

MSSQL Server Data Import (つまり SSIS パッケージ) を介して Excel に接続しようとすると、このエラーが発生します。Microsoft.ACE.OLEDB.16.0プロバイダがローカル マシンに登録されていません。( System.Data)

同じバージョンではありません。他のパッチが必要だと思います