如何使用yii2连接到Oracle?

时间:2019-02-19 05:19:40

标签: php oracle yii2

main-local.php 文件:

'db' => [
        'class' => 'yii\db\Connection',
        'dsn' => 'oci:dbname=//[db_host:db_port]/[dbname]',
        'username' => '***',
        'password' => '***',
    ]

当我第一次尝试连接到DB时,出现错误“找不到驱动程序”。安装驱动程序后,出现以下错误:

  

PDOException:SQLSTATE [] :(空)   原因:PDOException

enter image description here

请帮助。

2 个答案:

答案 0 :(得分:0)

对于Oracle数据库,必须在dsn中指定字符集:

所以您的dsn应该像:

'dsn' => 'oci:dbname=//[db_host:db_port]/[dbname];charset=UTF8',

或尝试:

'dsn' => 'oci:dbname=//[db_host:db_port]/[dbname];charset=UTF-8',

请在此处查看手册-Charset DetailDiscussion

答案 1 :(得分:0)

错误 extension String { func doesNotContain(_ find: String) -> Bool{ return self.range(of: find) != nil } } 并不是特别有用。

尝试运行独立的PDO_OCI示例,看看是否有更好的错误:

PDOException: SQLSTATE[]: (null) Caused by: PDOException