apaoww/yii2-oci8

Yii2的Oci8 PDO用户空间驱动程序

安装量: 13,417

依赖项: 4

建议者: 0

安全: 0

星标: 11

关注者: 3

分支: 13

公开问题: 0

类型:yii2-extension

2.0.4 2023-09-07 09:15 UTC

This package is auto-updated.

Last update: 2024-09-07 11:25:12 UTC


README

这个库基于支持PHP 8.2的yajra/pdo-via-oci8版本3。

安装

使用Composer安装

安装此扩展的首选方式是通过composer

运行以下命令之一:

php composer.phar require apaoww/yii2-oci8 "dev-master"

或者

"apaoww/yii2-oci8": "dev-master"

将以下内容添加到您的composer.json文件的require部分。

或者从存档安装

您还可以从存档安装。在配置文件中添加别名,使其指向文件夹

return [
    ...
    'aliases' => [
        '@apaoww/oci8' => 'path/to/your/extracted',
        ...
    ]
];

用法

扩展安装后,只需修改您的应用程序配置文件main-local.php,如下所示:

return [	
	'components' => [
		....
		'db' => [
                    'class' => 'apaoww\oci8\Oci8DbConnection',
                    'dsn' => 'oci:dbname=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SID=xe)));charset=AL32UTF8;',
                    'username' => 'yourdatabaseschemaname',
                    'password' => 'databasepassword',
		    'enableSchemaCache' => true, //increase performance when retrieved table meta data
            	    'schemaCacheDuration' => 3600,
            	    'schemaCache' => 'cache',
		    'on afterOpen' => function($event) {

                /* A session configuration example */
                $q = <<<SQL
begin
  dbms_session.set_role('NAME_OF_YOUR_ROLE_IN_ORACLE');
  EXCEPTION  -- exception handlers begin
   WHEN OTHERS THEN  -- handles all other errors
      ROLLBACK;
end;
SQL;
                $event->sender->createCommand($q)->execute();
            },
                    // To convert column name to lower case
                    'schemaMap' => ['oci' => 'apaoww\oci8\ESchemaOci',],
    			'attributes' => [
	//                PDO::ATTR_STRINGIFY_FETCHES => true,
			        PDO::ATTR_CASE => PDO::CASE_LOWER,
			    ],
	                ],
	],
];