Heeelp!!! Как с ним работать?
Вобщем общаюсь с СУБД посредством формы, и простого скрипта к ней, который выполняет команды, введённые в текстовое поле.
Если я пишу руками, например
create table КНИГИ(ID varchar(4))
то всё нормально.
Если вставляю текст (в мою форму) из файла sql, например такой:
DROP TABLE ЖАНРЫ CASCADE CONSTRAINTS;
create table ЖАНРЫ
(
ID number PRIMARY KEY,
Название varchar(20) NOT NULL
);
То выдаётся вот такое:
Warning: ociexecute(): OCIStmtExecute: ORA-00911: invalid character.
Также такая проблема возникает, если я это вставляю непосредственно в код.
Пользуюсь функциями OCIParse(), OCIExecute....
Не связано ли это с кодировкой? Этим же текстом спокойно создаю базу данных на локальной машине
(Oracle).
А вот если я его CTRL+C, CTRL+V, то пипец.
В чём тут дело...?
Как мне выполнить готовый sql файл на сервере.
Пишу следующее:
$query = "@http://blablabla/CreateTables.sql";
$command = OCIParse($_SESSION['CONNECTION'], $query);
//Выполняем...
if (!OCIExecute($command, OCI_DEFAULT))
{
$this->m_currentError = OCIError();
return FALSE;
}
Говорит, что некорректный запрос.
Такая же проблема с командой START.
Опять же на локальной машине всё прекрасно...
Цитата:
Originally posted by kletter
выдаётся вот такое:
Warning: ociexecute(): OCIStmtExecute: ORA-00911: invalid character.
выдаётся вот такое:
Warning: ociexecute(): OCIStmtExecute: ORA-00911: invalid character.
Скорее всего, ты пытаешься выполнить скрипт как одну команду.
На моё удивление, вчера мне удалось бе проблем создать базу из 11 таблиц(также CTRL+C CTRL+V)
А теперь, когда таблицы надо заполнить, глухо, хотя делаю тоже самое. Теперь даже вручную не получается, выдаёт WARNING: INVALID CHARACTER...
Может это всё таки с кодировкой проблемы?