首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Java使用insert语句和clob数据类型导入Oracle表转储

使用Java使用insert语句和clob数据类型导入Oracle表转储
EN

Stack Overflow用户
提问于 2012-07-15 01:04:35
回答 1查看 1.7K关注 0票数 1

我有一个包含insert语句的Oracle表转储。其中一些表包含clob数据字段。如果我尝试使用SQL Developer恢复转储,我得到错误消息"ORA-01704: string literal too long“

现在,我尝试使用JDBC和Java恢复转储。问题是我已经有了完全组合的PreparedStatement,所以我不能将列的数据类型从string更改为clob。

下面列出了该应用程序:

代码语言:javascript
复制
// strBufLine contains already the fully composed insert statement from the dump file
PreparedStatement pstmt = connection.prepareStatement("BEGIN " + strBufLine.toString() + " END;");
pstmt.executeUpdate();
pstmt.close();

任何想法如何解决这个问题(使用另一个程序恢复转储,其他转储技术或如何将数据类型更改为clob)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-15 01:39:41

如果字符串文字对于SQL Developer来说太长,那么对于JDBC也会太长,因为它是在服务器端解析的。

我建议您将文件转换为CSV或固定长度的文件。这应该不会太难,因为它是单个表的转储。所以每一行都会有一个相似的结构。甚至可以在文本编辑器中使用搜索/替换来完成此操作。

然后,您可以使用SQL Developer导入它(导入数据...在所需表格上的上下文菜单中)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11485695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档