fcarbah/lumen-db2-ext

lumen-db2 is a simple DB2 service provider for Lumen ~6. It provides DB2 Connection by extending the Illuminate Database component of the laravel framework.

v1.0.4 2020-01-07 20:06 UTC

This package is auto-updated.

Last update: 2024-12-08 07:49:45 UTC


README

Lumen-DB2

Installation

Install lumen-db2 via composer:

composer require fcarbah/lumen-db2

Uncomment call to Eloquent and add the DB2ServiceProvideer to bootstrap/app.php:

// ...

/*
|--------------------------------------------------------------------------
| Create The Application
|--------------------------------------------------------------------------
|
| Here we will load the environment and create the application instance
| that serves as the central piece of this framework. We'll use this
| application as an "IoC" container and router for this framework.
|
*/

$app = new Laravel\Lumen\Application(
    realpath(__DIR__.'/../')
);

// $app->withFacades();

$app->withEloquent(); // <- Uncomment this

// ...

/*
|--------------------------------------------------------------------------
| Register Service Providers
|--------------------------------------------------------------------------
|
| Here we will register all of the application's service providers which
| are used to bind services into the container. Service providers are
| totally optional, so you are not required to uncomment this line.
|
*/

$app->register(MichaelB\Database\DB2\DB2ServiceProvider::class); // <- Add this

Configuration

Create the app/config/database.php file:

/*
 |--------------------------------------------
 | Configuration Defaults
 |--------------------------------------------
 */

return [

    'fetch' => PDO::FETCH_CLASS,

    'connections' => [

        'as400' => [

            'driver'               => 'odbc',

             // General settings
            'host'                 => '',
            'username'             => '',
            'password'             => '',

            //Server settings
            'database'             => '',
            'prefix'               => '',
            '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'    => '',
            'defaultPackage'       => '',
            'extendedDynamic'      => 1,

            // Diagnostic settings
            'QAQQINILibrary'       => '',
            'sqDiagCode'           => '',

            // Sort settings
            'languageId'           => '',
            '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
            ]
        ]
    ]
];

driver setting is either 'odbc' for ODBC connection or 'ibm' for pdo_ibm connection Then if driver is 'odbc', database must be set to ODBC connection name. if driver is 'ibm', database must be set to IBMi database name (WRKRDBDIRE).

Usage

Consult the Laravel framework documentation.