Oracle 驱动程序忽略驱动程序选项
作者: butonic创建于 2016年4月12日更新于 2026年6月25日
标签Improvementoci8pdo_oci
传递到 https://GitHub.com/doctrine/dbal/blob/master/lib/Doctrine/DBAL/Driver/OCI8/Driver.php#L36 的驱动选项数组被忽略,而 sessionMode,persistent 和 pooled 等选项来自 $params。doctrine 中的适配器目前对 $driverOptions 处理方式不同:
- Oracle 忽略它们,而是使用 $params 数组: https://GitHub.com/doctrine/dbal/blob/master/lib/Doctrine/DBAL/Driver/OCI8/Driver.php#L44
- MySQL (PDO) 使用它们: https://GitHub.com/doctrine/dbal/blob/master/lib/Doctrine/DBAL/Driver/PDOMySql/Driver.php#L44
- PgSqL (PDO) 使用它们: https://GitHub.com/doctrine/dbal/blob/master/lib/Doctrine/DBAL/Driver/PDOPgSql/Driver.php#L45
- MySQLi 使用选项 https://GitHub.com/doctrine/dbal/blob/master/lib/Doctrine/DBAL/Driver/Mysqli/MysqliConnection.php#L62 和最终 https://GitHub.com/doctrine/dbal/blob/master/lib/Doctrine/DBAL/Driver/Mysqli/MysqliConnection.php#L214
- Sqlite (PDO) 使用它们,但删除
userDefinedFunctions: https://GitHub.com/doctrine/dbal/blob/master/lib/Doctrine/DBAL/Driver/PDOSqlite/Driver.php#L59 - SQLSrv 将其用作实际连接所使用的数组: https://GitHub.com/doctrine/dbal/blob/master/lib/Doctrine/DBAL/Driver/SQLSrv/Driver.php#L44 和最终 https://GitHub.com/doctrine/dbal/blob/master/lib/Doctrine/DBAL/Driver/SQLSrv/SQLSrvConnection.php#L55
内容来源: doctrine/dbal