【问题标题】:Loading data from a text file Informix从文本文件 Informix 加载数据
【发布时间】:2014-01-09 15:07:23
【问题描述】:

我想知道除了使用外部表之外,是否还有其他方法可以从文本文件加载数据。

文本文件看起来像

101 fname1 lname1 D01..
102 fname2 lname2 D02..

我想将它加载到包含 emp_id、fname、lname、dept 等列的表中。

谢谢!

【问题讨论】:

  • 嗨,只是我的意见......我看到加载数据的工作有两种方式,从客户端或从服务器。从服务器/数据库,这是 DBA/Admin 应该参与的事情,因为您正在“扰乱”系统的基础架构,并且为了获得良好的性能和实施,最好使用 DBA/Admin 应该支持您的数据库工具(例如Informix,选项有:HPL、dbload、dbaccess+load、外部表)。从客户端,您可以使用任何工具,或者只是编写自己的工具并按照您的意愿使用它

标签: informix loaddata


【解决方案1】:

Informix 中有三个实用程序可以将数据从平面文件加载到数据库:

Load SQL 命令。使用非常简单,但不是很灵活。对于少量记录(少于 10k),我建议使用此方法

Dbload,这是一个命令行实用程序,比 load sql 命令复杂一点。这将使您可以更好地控制记录的加载方式:提交间隔、平面文件中的起点、退出前的错误数量等。我建议将此实用程序用于中小型数据加载(> 10k

HPL,即高性能加载程序,这是一个相当复杂的实用程序,可以以非常高的速度加载数据,但开销很大。推荐用于大型到超大型数据加载。

【讨论】:

    【解决方案2】:

    正如 ceinmart 在 cmets 中建议的那样,您可以从服务器端或客户端执行此操作。在服务器端,您可以使用 DB-Access 和 LOAD command。从客户端,您可以使用任何您喜欢的工具。对于此类任务,我经常使用可以使用 Python 字符串和 CSV 库以及 JDBC 数据库驱动程序的 Jython。使用 Jython,您可以使用 csv 模块从文件中读取数据,并使用 PreparedStatement 将其插入数据库。在我的另一个答案中:Substring in Informix 你会看到这样的 PreparedStatement。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-11
      • 1970-01-01
      • 2016-10-28
      • 2015-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多