Visual Studio 2005 C# プロジェクトに問題があります。月曜日からWindows XPで使用しています。その後、ラップトップが故障し、新しいラップトップに Windows 7 64 ビットがあり、まだ VS 2005 を使用しています。
ソースのコンパイルに問題はありませんが、プログラムを実行すると以下の行で壊れます
OdbcConnection cn;
cn = new OdbcConnection("dsn=My_dsn_name;");
エラーが発生します:
EnrtyPointNotFoundException の停止が解除されました
DLL 'kernel32.dll' に 'InterlockedIncrement' という名前のエントリ ポイントが見つかりません
PostgresODBC 64 ビット ドライバーを使用して Postgres 8.4 データベースに接続しようとしています。
解決策または回避策は大歓迎です。私が構築しているソリューションは、Windows XP 32 ビットで実行する必要があることを強調する必要があります。
問題に関する更新された情報(コメントへの私の応答からだけでなく):
- VS プロジェクトに新しい接続を追加しようとすると、メッセージERROR [IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application が表示されました。Windows 7 64bit、Postgres ODBC 64bit Driver ver. 9.00.0200、Postgres 8.4 32 ビット。
- Dependency Walkerを使用したことがありません。しかし、 \system32と\SysWOW64の両方からkernel32.dllを開きましたが、両方のフォルダーのファイルにInterlockedIncrementが存在します。
- いくつかのTableAdapterがあり、それらを使用して Postgres からデータをフェッチします。WinXPを使用していたときに設定されたもので、まだ機能しています。一方、VS2005 でTableAdapterのプロパティの [データ] - > [コマンドテキスト]の横にある [ ... ] をクリックすると、「 ODBC ドライバー接続ユーティリティの呼び出しに失敗しました」というメッセージが表示されます。
編集:上記のポイント1〜3を追加しました。