geiger-it / db2-laravelumen

db2-laravelumen 是一个用于 Laravel 或 Lumen v5.2 的简单 DB2 服务提供程序。它通过扩展 Illuminate 数据库组件,与查询构建器和 Eloquent 一起工作,提供 DB2 连接。

2.3.2 2016-05-10 13:49 UTC

This package is not auto-updated.

Last update: 2024-09-26 03:33:02 UTC


README

db2-laravelumen 是 Cooperl22/laravel-db2 的分支,以支持 Laravel 和 Lumen v5.2。它通过扩展 Illuminate 数据库组件,与 Fluent(查询构建器)和 Eloquent 一起工作,提供 DB2 连接。

安装

请确保已安装适当的驱动程序。对于我们的 AS400 系统,我使用 alien 安装了来自 ibm 的 iSeriesAccess-7.1.0-1.0.x86_64.rpm,并配置了 /etc/odbc.ini 和 /etc/odbcinst.ini。

将 db2-laravelumen 添加到您的 composer.json 文件中

"require": {
    "geiger-it/db2-laravelumen": "~3.0"
}

使用 composer 安装此包。

$ composer update

注册包

将 db2-laravelumen 服务提供程序添加到您的 bootstrap/app.php

$app->register(geiger-it\Database\DB2\DB2ServiceProvider::class);

配置

将您的 DB2 连接和凭证信息放入您的 config/database.php 文件中。您会注意到 Lumen 没有配置目录,但创建时会读取它。

    'ibmi' => [
        'driver'               => 'odbc' / 'ibm',
        'driverName'           => '{IBM i Access ODBC Driver}' / '{iSeries Access ODBC Driver}',
         // General settings
        'host'                 => 'server',
        'username'             => '',
        'password'             => '',
        //Server settings
        'database'             => 'WRKRDBDIRE entry',
        'prefix'               => '',
        'schema'               => 'default schema',
        'signon'               => 3,
        'ssl'                  => 0,
        'commitMode'           => 2,
        'connectionType'       => 0,
        'defaultLibraries'     => '',
        'naming'               => 0,
        'unicodeSql'           => 0,
        // Format settings
        'dateFormat'           => 5,
        'dateSeperator'        => 0,
        'decimal'              => 0,
        'timeFormat'           => 0,
        'timeSeparator'        => 0,
        // Performances settings
        'blockFetch'           => 1,
        'blockSizeKB'          => 32,
        'allowDataCompression' => 1,
        'concurrency'          => 0,
        'lazyClose'            => 0,
        'maxFieldLength'       => 15360,
        'prefetch'             => 0,
        'queryTimeout'         => 1,
        // Modules settings
        'defaultPkgLibrary'    => 'QGPL',
        'defaultPackage'       => 'A/DEFAULT(IBM),2,0,1,0',
        'extendedDynamic'      => 1,
        // Diagnostic settings
        'QAQQINILibrary'       => '',
        'sqDiagCode'           => '',
        // Sort settings
        'languageId'           => 'ENU',
        'sortTable'            => '',
        'sortSequence'         => 0,
        'sortWeight'           => 0,
        'jobSort'              => 0,
        // Conversion settings
        'allowUnsupportedChar' => 0,
        'ccsid'                => 1208,
        'graphic'              => 0,
        'forceTranslation'     => 0,
        // Other settings
        '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
        ]
    ],

驱动设置可以是 'odbc' 用于 ODBC 连接,或 'ibm' 用于 pdo_ibm 连接。如果驱动程序是 'odbc',则数据库必须设置为 ODBC 连接名称。如果驱动程序是 'ibm',则数据库必须设置为 IBMi 数据库名称(WRKRDBDIRE)。

使用方法

请参阅 Laravel 框架文档