Спасибо за помощь, которую вы можете оказать мне.
У меня проблема с использованием OCI8 в PHP 7.2 с инструкциями PL / SQL в Oracle 9i. Я использую oracle мгновенный клиент 11.2.
SQL:
BEGIN
DBMS_OUTPUT.put_line('¡Hola Mundo!');
END;
PHP:
$rs = oci_parse($conn, $SqlCode);
$RExec = @oci_execute($rs);
ОШИБКА:
ORA-06550 : строка 1, столбец 7: PLS-00103 : Обнаружен символ "" при ожидании одного из следующих действий: в начале регистра объявляется выход для goto, если l oop mod null прагма повышение возвращение выбор обновление, в то время как с << закрыть текущее удаление выборка блокировка вставка открытый набор точек отката отката sql выполнить фиксацию для объединения каналов Символ "" был проигнорирован. <strong>ORA-06550 : строка 2, столбец 42: PLS-00103 : Обнаружен символ "" при ожидании одного из следующих действий: начальный регистр, объявить завершение исключения конца для goto, если l oop mod null прагма повышение возвращение выбор обновление при
У меня проблемы со всеми операторами PL / SQL в Oracle 9i, но если я попробую выражение basi c, например «SELECT * FROM some_table» работает правильно.
Если я выполняю ту же инструкцию PL / SQL в базе данных Oracle 10 и 11, она работает нормально.
ОБНОВЛЕНИЕ 2020-02-04:
У меня есть портал PHP, в котором есть форма для сохранения сценариев (PL / SQL Oracle) в базе данных MYSQL затем в другом представлении я выбираю сценарий, который хочу выполнить, поэтому я получаю сценарий (PL / SQL), который хочу запустить в базе данных Oracle.
Блокировка проблемы, Я обнаружил, что если я прочитал код или скрипт PL / SQL из базы данных MYSQL и затем выполнил его, я получил ошибку "ORA-06550: lin e 1, столбец 7: PLS-00103: обнаружен символ ", но если я возьму код и сохраню его в переменной непосредственно в файле PHP, он будет выполнен правильно.
проблема должна заключаться в некоторой проблеме кодировки символов, когда я вставляю или запрашиваю базу данных MYSQL, чтобы получить код pl / sql, который я намерен выполнить в базе данных Oracle.
Спасибо.