我想知道除了使用外部表之外是否还有其他方法可以从文本文件加载数据。
文本文件类似于
101 fname1 lname1 D01..
102 fname2 lname2 D02..
我想将它加载到包含emp_id,fname,lname,dept等列的表中。
谢谢!
答案 0 :(得分:1)
Informix中有三个实用程序可以从平面文件中将数据加载到数据库中:
Load SQL命令。使用非常简单,但不是很灵活。我会建议少量记录(少于10k)
Dbload,这是一个命令行实用程序,比load sql命令复杂一点。这将允许您更好地控制记录的加载方式:提交间隔,平面文件中的起始点,退出前的错误数等。我建议将此实用程序用于中小型数据加载( > 10K< 100K)
HPL,或高性能加载程序,这是一个相当复杂的实用程序,可以以非常高的速度加载数据,但需要很多开销。推荐用于大型到大型数据负载。
答案 1 :(得分:0)
正如ceinmart在评论中建议的那样,您可以从服务器端或客户端进行。从服务器端,您可以使用DB-Access和LOAD
command。从客户端,您可以使用任何您喜欢的工具。对于这样的任务,我经常使用Jython,它可以使用Python字符串和CSV库以及JDBC数据库驱动程序。使用Jython,您可以使用csv
模块从文件读取数据,并使用PreparedStatement将其插入数据库。在我的另一个答案中:Substring in Informix你会看到这样的PreparedStatement。