clockmaker
作者clockmaker·2014-12-09 12:21
项目经理·

Domino数据转移到关系型数据库(二)

字数 763阅读 2148评论 1赞 3
在前文数据转移的过程中,笔者将附件实际上存储到了本地磁盘上。并没有将附件存储到Oracle数据库的BLOB字段中。在实际的软件项目中,一般也是将附件存储在服务器磁盘上使用。但不是说,所有的项目都这么做。是否使用Oracle的BLOB字段也是根据情况来定。笔者为了将软件功能完善,特意开发了将Domino中的附件转移至BLOB字段中的功能。本文中的BLOB字段,是指Oracle数据库的BLOB字段。因为笔者没有安装mysql数据库,因此没有实测mysql数据库的BLOB字段运行情况。
配置中增加了以下两个参数:
BLOB字段存储:是否启用BLOB字段存储。
附件表名:此处BLOB存储在单独的附件表中,与业务数据分开。

笔者为了开发对BLOB字段的数据支持,从网上找了些资料来参考。网上大多数的介绍都是使用oracle.sql.BLOB.getBinaryOutputStream(),这个方法,但实际上在JDBC驱动程序中,此方法已经被标记为:
 Deprecated. This method is deprecated -- use setBinaryStream
出于好奇心,笔者决定继续研究一下。终于发现,存储BLOB字段可以使用更简洁的方法:
PreparedStatement ps = con.prepareStatement( "INSERT INTO TB_FILE(ID, Subject, Body) VALUES (3,"filename",?)"); PrepareStatement.setBinaryStream(3, FileInputStream, fileIn.length());
对比用输入输出流存储BLOB字段应该是简洁多了。不过此方法的缺陷,笔者没有研究。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

3

添加新评论1 条评论

aljoin79aljoin79网络工程师hq software
2015-12-02 15:33
有工具吗,能发我一个吗
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广