sql >> データベース >  >> RDS >> Access

MicrosoftAccess使用時のアーキテクチャの不一致エラーの回避策

    時々、お客様は、アプリケーションのバックエンドが次のように失敗したときにAccessデータベースを使用しようとしたときに、どのようなオプションがあるかを尋ねてきます。

    [Microsoft][ODBC Driver Manager]The specified DSN contains an architecture mismatch between the Driver and Application

    問題の原因は、Accessへの接続に使用されるドライバーのアーキテクチャがアプリケーションのアーキテクチャと異なることです。つまり、32ビットアプリケーションで64ビットAccessドライバーを使用しようとしています。最近のバージョンのAccessはデータベースファイルにACCDB形式を使用しており、ACCDBファイルのAccessドライバーは64ビットのみであるため、このような状況に陥ります。

    (問題のドライバーはAccess用のODBCドライバーです。ODBCは、アプリケーションがODBCドライバーを使用できる任意のデータベースに接続できるようにするデータアクセステクノロジーです。)

    このような状況では、次の回避策を利用できます。

    • 代わりに、MDB形式のAccessデータベースを使用します。これは、Microsoft Accessでは、[新しいデータベースのファイル]ダイアログボックスで[Microsoft Accessデータベース(2002-2003形式)]というラベルが付いています。

      Windowsには、MDBファイル(ACCDBファイルではない)と互換性のある32ビットAccess ODBCドライバーが含まれています。このドライバーを使用するには、32ビットバージョンのODBCAdministratorでAccessデータソースを構成する必要があります。 32ビットバージョンのODBCAdministratorを実行するには、[Windowsの実行]ダイアログボックスで次のように入力します。

      %windir%\syswow64\odbcad32.exe
      

      ただし、この回避策を実行する前に、ACCDBファイルが提供する追加のAccess機能が必要かどうかを確認する必要があります。

    • MicrosoftのAccessDatabaseEngineをインストールします。これにより、ACCDB形式のデータベースファイルをサポートする32ビットのAccessODBCドライバーが提供されます。ただし、Windows 8以降は、AccessDatabaseEngineでサポートされているオペレーティングシステムとしてリストされていません。
    • Easysoft ODBC-ODBCブリッジを使用します。これにより、32ビットアプリケーションで64ビットODBCドライバーを使用できるようになります(その逆も可能です)。

    1. ISNUMERIC('。')が1を返すのはなぜですか?

    2. SQLServerのインストール方法

    3. 「Automysqlbackup」および「Autopostgresqlbackup」ツールを使用してMySQL/MariaDBおよびPostgreSQLをバックアップ/復元する方法

    4. データベースをAmazonVPCに接続する方法