Yii 2 Oracle数据库错误!在xamp-Windows/不在CentOs Apache2 oracle数据库上工


Yii 2 Oracle DB ERROR! working on xampp Windows / not working on CentOs Apache2 oracle db

SQLSTATE[HY000]:常规错误:1405 OCStmtFetch:ORA-01405:列值为NULL(/opt/oci/PDO_oci-1.0/oc_statement.c:446)正在执行的SQL是:WITH USER_SQL AS(SELECT*FROM"devices"),PAGINATION AS(从USER_SQL中选择USER_SQL.*,rownum作为rowNumId)选择*从分页其中rownum<=20错误信息:数组([0]=>HY000[1] =>1405[2] =>OCIStmtFetch:ORA-01405:列值为NULL(/opt/oci/PDO_oci-1.0/oc_statement.c:446))↵原因:PDOException

SQLSTATE[HY000]:一般错误:1405 OCIStmtFetch:ORA-01405:pobrańwartoścíkolumny jest NULL(/opt/oci/PDO_oci-1.0/oc_statement.c:446)

在/var/www/html/vvendor/yiisoft/yii2/db/Command.php中,第829行

当我把这个选择放到sql浏览器中时,它在xamporacledb&Windows,但不适用于生产版的CentOS 6.1和apache2 oracle db 11请帮助

尝试在oracle中使用nvl函数。对于包含clob列的模型。而是使用sql数据提供程序。

例如。在控制器动作索引中使用yii2中的数据提供程序

$count = Yii::$app->db->createCommand('
    SELECT COUNT(*) FROM POST
')->queryScalar();
        $dataProvider = new SqlDataProvider([
            'sql' => "SELECT ID, NVL(TEXT_WITH_CLOB, 'None')  FROM POST",
            'key' => 'ID',
            'totalCount' => $count,
            'sort' => [
                'attributes' => [
                    'ID',
                    'TEXT_WITH_CLOB',
                ],
            ],
            'pagination' => [
                'pageSize' => 20,
            ],
        ]);
return $this->render('index', [
            'dataProvider' => $dataProvider,
        ]);