Yii 2 Oracle DB ОШИБКА! работает на Windows xampp / не работает на CentOs Apache2 oracle db

0

SQLSTATE [HY000]: Общая ошибка: 1405 OCIStmtFetch: ORA-01405: значение столбца равно NULL (/opt/oci/PDO_OCI-1.0/oci_statement.c:446) Выполняемый SQL: WITH USER_SQL AS (SELECT * FROM) устройства "), PAGINATION AS (SELECT USER_SQL. *, Rownum as rowNumId FROM USER_SQL) SELECT * FROM PAGINATION WHERE rownum <= 20 Информация об ошибке: Array ([0] => HY000 [1] => 1405 [2] => OCIStmtFetch: ORA-01405: значение столбца равно NULL (/opt/oci/PDO_OCI-1.0/oci_statement.c:446)) ↵ вызвано: PDOException

SQLSTATE [HY000]: Общая ошибка: 1405 OCIStmtFetch: ORA-01405: pobraną wartością kolumny jest NULL (/opt/oci/PDO_OCI-1.0/oci_statement.c:446)

в /var/www/html/vendor/yiisoft/yii2/db/Command.php в строке 829

Когда я помещаю этот select в sql-браузер, он отлично работает на xampp oracle db & Windows, но не на производстве CentOS 6.1 и apache2 oracle db 11 Пожалуйста, помогите

  • 0
    [Решено] в полях типа LOB ex. CLOB не t use NULL использовать пустые строки
Теги:
yii2
pdo
oci

1 ответ

0

Попробуйте использовать функцию nvl в oracle. Для модели, содержащей столбцы 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,
        ]);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню