Laravelは、データベース処理を自動化する仕組みが含まれているPHPフレームワークのひとつです。
Laravelの拡張パッケージであるDB2 for IBM iSeries Laravel Driverをインストールすることで、Laravelのデータベース機能をIBM iのDB2環境でも最大限に活用できるようになります。
今回は、DB2 for IBM iSeries Laravel Driverのインストール方法など、環境構築に関する手順をご紹介します。
必要なもの
- PHP の PDO_ODBC拡張機能
- IBM i Access ODBC Driver
- PHP 8.1以上
検証環境
- PC環境:Windows10 日本語
- ODBCドライバー:ACS 1.1.9.5 Windows用ドライバー
- PHP:PHP 8.1 Windows版
- laravel/framework:10.10
- bwicompanies/db2-driver:1.3
インストール方法
composerを使用してパッケージをインストールします。
以下のコマンドを実行してください。
composer require bwicompanies/db2-driver
接続先の追加
「config/database.php」ファイルに接続先を追加します。
各設定は、開発環境に合わせて適宜変更してください。
ただし、'driver'オプションは必ず'db2'にしてください。
database.php
'default' => env('DB_CONNECTION', 'myDB2Connection'),
'myDB2Connection' => [
'driver' => 'db2',
'driverName' => '{IBM i Access ODBC Driver}',
'host' => env('DB_HOST'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
'database' => env('DB_DATABASE'),
'prefix' => '',
'schema' => env('DB_SCHEMA'),
'port' => env('DB_PORT', 50000),
'date_format' => 'Y-m-d H:i:s', // or 'Y-m-d H:i:s.u' / 'Y-m-d-H.i.s.u'
'odbc_keywords' => [
'SIGNON' => 3,
'SSL' => 0,
'CommitMode' => 0,
'ConnectionType' => 0,
'DefaultLibraries' => '',
'Naming' => 1,
'UNICODESQL' => 0,
'DateFormat' => 5,
'DateSeperator' => 0,
'Decimal' => 0,
'TimeFormat' => 0,
'TimeSeparator' => 0,
'TimestampFormat' => 0,
'ConvertDateTimeToChar' => 0,
'BLOCKFETCH' => 1,
'BlockSizeKB' => 32,
'AllowDataCompression' => 1,
'CONCURRENCY' => 0,
'LAZYCLOSE' => 0,
'MaxFieldLength' => 15360,
'PREFETCH' => 0,
'QUERYTIMEOUT' => 1,
'DefaultPkgLibrary' => 'QGPL',
'DefaultPackage' => 'A /DEFAULT(IBM),2,0,1,0',
'ExtendedDynamic' => 1,
'QAQQINILibrary' => '',
'SQDIAGCODE' => '',
'LANGUAGEID' => 'JPN',
'SORTTABLE' => '',
'SortSequence' => 0,
'SORTWEIGHT' => 0,
'AllowUnsupportedChar' => 0,
'CCSID' => 1208,
'GRAPHIC' => 0,
'ForceTranslation' => 0,
'ALLOWPROCCALLS' => 0,
'DB2SQLSTATES' => 0,
'DEBUG' => 0,
'TRUEAUTOCOMMIT' => 0,
'CATALOGOPTIONS' => 3,
'LibraryView' => 0,
'ODBCRemarks' => 0,
'SEARCHPATTERN' => 1,
'TranslationDLL' => '',
'TranslationOption' => 0,
'MAXTRACESIZE' => 0,
'MultipleTraceFiles' => 1,
'TRACE' => 0,
'TRACEFILENAME' => '',
'ExtendedColInfo' => 0,
],
'options' => [
PDO::ATTR_CASE => PDO::CASE_LOWER,
PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_PERSISTENT => false,
]
],
接続先の設定
「.env」ファイルを編集して、接続先の情報を追加します。
.env
DB_HOST= // IPアドレス
DB_DATABASE= // DSN名
DB_USERNAME= // ユーザー
DB_PASSWORD= // パスワード
DB_SCHEMA= // 一つのライブラリのみを使用する場合(任意項目)
設定は以上で完了です。
次回は、IBM iに接続してデータを取得する方法について紹介します。
ご参考になれば幸いです。最後までお読み頂きありがとうございます。