【发布时间】:2012-01-14 04:39:23
【问题描述】:
我正在尝试将一行从我们的生产数据库复制到我自己的小型个人 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 服务器本身,因此我无法运行任何命令行备份或导出实用程序。谢谢!
更新:
我还尝试通过随机散布一些 ' || ' 来拆分字符串,这给了我错误:
ORA-01489: result of string concatenation is too long
【问题讨论】:
-
可以登录生产数据库吗?还是你说你连这个都做不到?
-
@JustinCave - 是的,我可以在生产环境中运行任何我想要的 SQL 语句。