ThinkPHP 3.2.2 Oracle驱动问题

浏览:1600 发布日期:2014/06/23 分类:系统代码 关键字: 3.2.2 oracle 驱动
ThinkPHP 3.2.2 用DSN方式连接不上Oracle 11G问题
系统环境: Windows 2003 R2
Server: Microsoft-IIS 6.0
PHP: 5.3.28
Oracle Server: 11G
Oracle Client: instantclient 11.2

ThinkPHP:3.2.2
File:Oracle.class.php
Line:50
Desc:连接Oracle时没有加入主机名和端口号$this->linkID[$linkNum] = $conn($config['username'], $config['password'],$config['database']);//modify by wyfeng at 2008.12.19修改为:$this->linkID[$linkNum] = $conn($config['username'], $config['password'],$config['hostname'].':'.$config['hostport'].'/'.$config['database']);Line:214
Desc:$val键名大小写问题造成无法给$info赋值if($result) {
            foreach ($result as $key => $val) {
                $info[strtolower($val['column_name'])] = array(
                    'name'    => strtolower($val['column_name']),
                    'type'    => strtolower($val['data_type']),
                    'notnull' => $val['notnull'],
                    'default' => $val['data_default'],
                    'primary' => $val['pk'],
                    'autoinc' => $val['pk'],
                );
            }
        }
修改为:if($result) {
            foreach ($result as $key => $val) {
                $info[$val['COLUMN_NAME']] = array(
                    'name'    => $val['COLUMN_NAME'],
                    'type'    => $val['DATA_TYPE'],
                    'notnull' => $val['NOTNULL'],
                    'default' => $val['DATA_DEFAULT'],
                    'primary' => $val['PK'],
                    'autoinc' => $val['PK'],
                );
            }
        }
当前这种修改方式感觉有欠缺,由于项目时间紧迫,没有做其它测试,请官方重视解决一下,感谢你们的辛勤劳动,提供这么好用的框架,谢谢

附件 Oracle.class.zip ( 3.49 KB 下载:35 次 )

评论( 相关
后面还有条评论,点击查看>>