测试了很多遍,TP官网根本就没有给出正确的写法,而且网上搜索到的全都是错误的。
跟踪代码,最终找出了正确的配置写法,备份如下,(by default7#zbphp.com)
'DB_TYPE' => 'oracle', // 数据库类型 'DB_HOST' => 'oracle.zbphp.com', // 服务器地址 'DB_NAME' => '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle.zbphp.com)(PORT=1029))(CONNECT_DATA=(SID=orcl)))', // 服务器地址 'DB_USER' => 'zbphp', // 用户名 'DB_PWD' => 'fuzb', // 密码 'DB_PORT' => 1029, // 端口 'DB_PREFIX' => 'TB_', // 数据库表前缀 'DB_CHARSET' => 'utf8', // 字符集 'DB_PARAMS' => array( 'persist' => true, //注意,这一个必须写 ),
特别强调:TP官网说TP支持PDO、Oracle,但是如果使用PDO根本就无法连接DSN带有 MSSQL、ORACLE 、OCI字串DSN!
提示要去官网下载PDO扩展!(欢迎交流 by default7#zbphp.com)
#截图:使用官网搜索到的配置参考,根本就无法连接上Oracle的,不管是用PDO还是OCI
ThinkPHP 连接Oracle的配置写法,(使用Oci扩展而非PDO的写法)
时间: 2024-11-08 12:34:05