Microsoft Access データベースへの接続(FireDAC)
データベース接続(FireDAC) への移動
このトピックでは、Microsoft Access データベース ファイルへの接続方法を説明します。
目次
サポート対象バージョン
FireDAC ネイティブ ドライバでは Microsoft Access 95、97、2000、2003、2007、2010 のデータベースをサポートしています。
Windows 版クライアント ソフトウェア
FireDAC を使用するには、以下の Microsoft Access x86 または x64 ODBC ドライバのいずれかがワークステーションにインストールされている必要があります。
- "Microsoft Access ドライバ(*.mdb)" x86 ODBC ドライバ バージョン 3 以降(よく Microsoft JET ODBC ドライバと呼ばれます)。95 ~ 2003 データベースの場合。詳細については、ここを参照してください。また、英語以外の言語用に用意されている代替ドライバのいずれかを使用することもできます。
- "Microsoft Access ドライバ(*.mdb、*.accdb)" x86 および x64 ODBC ドライバ バージョン 12 以降。95 ~ 2010 データベースの場合。詳細については、ここを参照してください。
メモ: 別のアーキテクチャのランタイムが既にインストールされているワークステーションに x86 または x64 Microsoft Access ランタイムをインストールするには、ランタイム インストーラのコマンド ラインで "/passive" を指定します。Delphi IDE は x86 アプリケーションであるため、x86 版の Access を開発用ワークステーションにインストールしなければなりません。
Microsoft Access ODBC ドライバが正しくインストールされていない場合は、接続を試みたときに以下の例外が発生します。
新しいバージョンの Access で作成したデータベースを古い Access ドライバを使って開こうとした場合は、以下の例外が発生します。
macOS および iOS のクライアント ソフトウェア
FireDAC は、Linux、 macOS、iOS での Microsoft Access データベース接続をサポートしていません。
ドライバのリンク
ドライバをリンクするには、以下のいずれかを行います。
- [ツール パレット]の[FireDAC Links]ページから TFDPhysMSAccessDriverLink コンポーネントをドロップします。
- uses 句に FireDAC.Phys.MSAcc ユニットを追加します。
接続定義パラメータ
Microsoft Access データベースに接続するには、ほとんどのアプリケーションの場合、DriverID と Database を指定する必要があります(詳細は「接続の定義(FireDAC)」を参照)。
メモ: FireDAC では、パスワードで保護されたデータベースをサポートしていますが、パスワードの長さは 14 文字以下でなければなりません。アプリケーションでそれより長いパスワードを使用すると、"Not a valid password"(パスワードが無効です)という例外が発生します。
DriverID=MSAcc
パラメータ | 説明 | 値の例 |
---|---|---|
Database |
MDB ファイルのパスです。 パスにはパス変数を含めることができます。 |
c:\mydb.mdb |
SystemDB |
システム データベース ファイルのパスです。 パスにはパス変数を含めることができます。 |
c:\mysystem.mdb |
ReadOnly | True に指定すると、データベースを読み取り専用モードで開くことができます。デフォルト値は False です。 | True |
StringFormat |
文字列値を表す方式を次のいずれかとして定義します。
|
Unicode |
ODBCAdvanced | その他の任意の ODBC 接続パラメータ値を追加で指定することができます。デフォルト値は "ExtendedAnsiSQL=1" です。 | IMPLICITCOMMITSYNC=NO |
使用例
- Microsoft Access データベースを開く場合:
DriverID=MSAcc Database=c:\mydata.mdb
- システム データベースを使って Microsoft Access データベースを開く場合:
DriverID=MSAcc Database=c:\mydata.mdb SystemDB=c:\system.mdb User_Name=usr Password=pwd
- Microsoft Access のパスワード保護データベースを開く場合。パスワードの長さは 14 文字以下でなければならないことに注意してください。
DriverID=MSAcc Database=c:\mydata.mdb Password=pwd
メモ: データベースの削除/作成、暗号化、圧縮、修復を行う場合は、TADMSAccessUtility コンポーネントを使用します。
関連項目
サンプル
- FireDAC MS Access サンプル