【发布时间】:2013-01-07 03:19:39
【问题描述】:
我正在寻找 java 或数据库中以下问题的解决方案。请帮忙。
我们必须读取一个文件并将记录放入 oracle 数据库中。文件就像 FTP 位置的 csv 格式(列值用管道 | 分隔)。假设文件名是employee.txt,对应的表名是Employee。假设列为 -
ID
name
Designation
Date_of_Joining
txt 文件中的记录将是 -
1234|saurabh srivastava|lead|06-0ct-1990
1235|a john|lead|09-nov-1992
1236|p kumar||10-dec-1991
该文件将始终包含完整记录。意思是,如果第一次文件有 10 条记录,下一次它将有这 10 条记录以及新记录。但是每次我们只需要在数据库中存储新记录。有没有什么办法使用java程序或Databse(过程,查询等),考虑到更少的性能损失。
谢谢。
【问题讨论】:
-
新记录是总是在文件的末尾还是可以混合在不同的位置。
-
创建文件实际上是从数据库导出。不知道每次它会如何放置记录。
-
值得测试,但我猜它会按主键顺序排列,所以如果你的键是一个自动递增字段,它总是在底部有最新的。那么另一个问题可能是,如果一条记录从一个文本版本修改为另一个版本。这会很糟糕,但您可能必须截断表格并从文本文件中恢复,以确保您将所有内容都恢复到备份时的状态。