NC57数据库附件迁移

3 篇文章 0 订阅
3 篇文章 0 订阅

所有的附件需要存储在本地,对于旧有的存储在数据库中的文件需要保证其在“磁盘存储”下可用,因此提供了一个将数据库中的文件迁移到磁盘中工具。下面详细的介绍此工具的使用。

请注意本说明中的红色字体部分!!!

一、迁移准备和注意事项

1.检查{nchome}/hotwebs目录下是否有dc文件夹。

2.检查{nchome}/modules/uap/classes/nc/document/pubservlet

3.检查{nchome}/modules/uap/classes/nc/document/pubservlet

  1. 上述3个目录如有相同的文件夹和文件就将NC附件DB迁移工具释放到对应文件夹下。

5.在迁移的过程中,请暂停下载、更新、删除等相关的操作。在迁移操作开始之前,将文档存储配置中的文档存储类型设置为“本地文件存储”!

做完以上之后重新部署系统。

二、文件迁移

准备完毕后,启动NC中件间并在浏览器中输入如下地址,即可开始文件的迁移。文件迁移操作不会删除数据库中的数据记录,迁移完成后验证文件一致性没有问题,可以手动删除数据库中的数据,删除时请谨慎操作。

迁移地址:http://IP:PORT/dc/move/index.html

注:ip地址和端口号按照具体情况设置,端口号即为nc服务端口号。

点击上述迁移地址,这个页面中有两个输入框,输入的需要迁移的文件的时间范围,(对应数据库中的sm_document_file.ts字段),如:如果输入框分别输入的是“2014-01-01” “2014-02-18” 那么迁移的文件为后台数据库中ts>‘2014-01-01 00:00:00’ and ts<='2014-02-18 00:00:00’的文件。

注意: ts时间取值是大于左边小于等于右边的值;所迁移时间段的数据量不能超过1万条数据,如超过1万条数据,需分批迁移。数据量可根据字段sm_pub_filesystem.ts查询

如果两个输入框不输入任何数,或者格式无效,那么就对后台数据库中的所有数据进行迁移。

注:迁移完成后,由于可能存在部分文件在迁移过程中出错,因此迁移完成后,查看后台日志,检查是否有错误输出。建议将旧数据库文件进行备份。

ftp存储方式:
upload(String localfilename, String remotefilename) {
OutputStream os = null;
FileInputStream is = null;
try {
// 将远程文件加入输出流中
os = (OutputStream) ftpClient.putFileStream(remotefilename, true);
// 获取本地文件的输入流
File file_in = new File(localfilename);
is = new FileInputStream(file_in);
// 创建一个缓冲区
byte[] bytes = new byte[1024];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}
}
// 下载
download(String remoteFile, String localFile) {
InputStream is = null;
FileOutputStream os = null;
is = (InputStream) ftpClient.getFileStream(remoteFile);
File file_in = new File(localFile);
os = new FileOutputStream(file_in);
byte[] bytes = new byte[1024];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}
}
qq:751916620

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值