djolecodes / db2-laravel-driver
IBM iSeries上的DB2 Laravel驱动程序
1.1.0
2024-07-12 10:47 UTC
Requires
- php: ^8.1
- illuminate/contracts: ^8|^9|^10
- illuminate/database: ^8|^9|^10
- illuminate/support: ^8|^9|^10
- spatie/laravel-package-tools: ^1.13.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^6.0
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-12 11:15:36 UTC
README
此包允许您通过扩展Laravel框架的Illuminate Database组件,使用Laravel的查询构造器和Eloquent与IBM iSeries的DB2数据库一起使用。最初是从BWICompanies分叉而来。
我做的修改是,我们不能使用IBM DB2驱动程序,而只能使用odbc。通过指定use_ibm_driver=true
连接字符串,将创建IBM DB2驱动程序的连接字符串,而不是像先前的作者所打算的ODBC。我这样做只是因为我不能使用cooperl22/laravel-db2。并且我想使用常规的IBM DB2驱动程序与Laravel 10。由于此包与Laravel 10兼容,所以我分叉了存储库并在连接字符串中做了小的修改。
要求
- 已安装IBM dsdriver(IBM DB2 ODBC驱动程序)
- 已安装IBM PDO
安装
通过composer安装包
composer require djolecodes/db2-laravel-driver
在database.php
中添加一个新的连接
注意:您可以指定连接名称,但驱动程序必须是'db2'。
'myDB2Connection' => [ 'driver' => 'db2', 'driverName' => '{IBM DB2 ODBC DRIVER}', 'host' => env('DB_HOST'), 'username' => env('DB_USERNAME'), 'password' => env('DB_PASSWORD'), 'database' => env('DB_DATABASE'), 'prefix' => '', 'use_ibm_driver'=> true, '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' => 'ENU', '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
中定义适当的密钥。
其他资源
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。