PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 开发编程 > ThinkPhp教程 > 正文

    ThinkPHP 3.2.2 Oracle驱动问题

    作者:w634381967来源:网络浏览:时间:2020-09-30 00:07:50我要评论
    导读:ThinkPHP 3.2.2 用DSN方式连接不上Oracle 11G问题系统环境: Windows 2003 R2Server: Microsoft-IIS 6.0PHP: 5.3.28Oracle Server...
    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'],
                    );
                }
            }
    当前这种修改方式感觉有欠缺,由于项目时间紧迫,没有做其它测试,请官方重视解决一下,感谢你们的辛勤劳动,提供这么好用的框架,谢谢

    thinkphp官方回答:
    使用oracle驱动的话 可以配置DB_CASE_LOWER参数 这样后面的问题就无需修改了。


    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-83-1089-1.html
    相关热词搜索: thinkphp3.2.2