guidofaecke/doctrine-dbal-ibmi

IBM i平台上DB2的Doctrine DBAL模块

0.0.7 2018-06-01 17:40 UTC

README

Build Status

IBM i平台上DB2的Doctrine DBAL模块。

基于@cassvaildoctrine/dbal#910中的原始工作。

使用方法

首先,使用Composer进行安装

$ composer require guidofaecke/doctrine-dbal-ibmi

配置

在您的连接配置中,使用这个特定的DB2Driver类,例如,在配置Zend Expressive应用程序时

<?php

return [
    'doctrine' => [
        'connection' => [
            'orm_default' => [
                'driverClass' => \DoctrineDbalIbmi\Driver\DB2Driver::class,
                'params' => [
                    'host'     => '...',
                    'user'     => '...',
                    'password' => '...',
                    'dbname'   => '...',
                    'persistent' => true,
                    'driverOptions' => [
                        'i5_naming' => DB2_I5_NAMING_OFF,
                        'i5_commit' => DB2_I5_TXN_NO_COMMIT,
                        'i5_lib' => '...',
                    ],
                ],
            ],
        ],
    ],
];

手动配置

您可以像这样手动配置一个EntityManager

<?php

$configuration = \Doctrine\ORM\Tools\Setup::createAnnotationMetadataConfiguration([
    __DIR__ . '/../path/to/your/entities/',
], true);

$connection = [
    'driverClass' => \DoctrineDbalIbmi\Driver\DB2Driver::class,
    'host' => '...', // Replace this
    'user' => '...', // Replace this
    'password' => '...', // Replace this
    'dbname' => '...', // Look up value with WRKRDBDIRE
    'persistent' => true,
    'driverOptions' => [
        'i5_lib' => '...', // Replace this
        'i5_naming' => DB2_I5_NAMING_OFF,
        'i5_commit' => DB2_I5_TXN_NO_COMMIT,
    ],
];

$entityManager = \Doctrine\ORM\EntityManager::create($connection, $configuration);

然后,您可以使用这个$entityManager实例。