有 main-local.php 文件:
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'oci:dbname=//[db_host:db_port]/[dbname]',
'username' => '***',
'password' => '***',
]
当我第一次尝试连接到DB时,出现错误“找不到驱动程序”。安装驱动程序后,出现以下错误:
PDOException:SQLSTATE [] :(空) 原因:PDOException
请帮助。
答案 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 Detail和Discussion:
答案 1 :(得分:0)
错误 extension String {
func doesNotContain(_ find: String) -> Bool{
return self.range(of: find) != nil
}
}
并不是特别有用。
尝试运行独立的PDO_OCI示例,看看是否有更好的错误:
PDOException: SQLSTATE[]: (null) Caused by: PDOException