Я пытаюсь скопировать строку из нашей производственной БД в свою собственную маленькую персональную БД Oracle Express, чтобы воспроизвести ошибку, так как я не могу действительно войти в код на производстве. К сожалению, эта строка включает столбец, который сериализует какую-то структуру данных в тип столбца blob
, смеясь перед богами нормализации. Вот это INSERT
:
INSERT INTO TPM_VIEWS VALUES(
5,
'Test Repro View',
665,
1,
'0001000000ffffffff01000000000000000c020000003a44414c2c205... //About 7600 characters
);
Я попытался запустить это в Aqua Data Studio 10 и получаю:
ORA-01704: string literal too long
Затем я попытался вставить его в SQL * Plus, который дает мне:
SP2-0027: Input is too long (> 2499 characters) - line ignored
Наконец, я попытался вставить все это в foo.sql и запустил @foo.sql
, что дает мне:
SQL> @c:\foo.sql
Input truncated to 7499 characters
SP2-0027: Input is too long (> 2499 characters) - line ignored
ERROR:
ORA-01756: quoted string not properly terminated
Какой суперсекретный способ эксперта Oracle сделать это? И нет, у меня нет доступа к самому серверу Oracle, поэтому я не могу запустить утилиты резервного копирования или экспорта из командной строки. Спасибо!
UPDATE:
Я также попытался разделить строку, разбросав несколько ' || '
вокруг случайно, что дает мне ошибку:
ORA-01489: result of string concatenation is too long