0

将制表符分隔的文本文件加载到空白表中的 Derby SQL 命令是什么?

  1. 文本文件以制表符分隔(列)
  2. 我在 Eclipse 的 DATA SOURCE EXPLORER 中使用嵌入式 Derby 数据库工作
  3. 我可以通过连接到数据库、运行 .sql 文件、导航到它创建的表、选择加载数据、设置 .txt 文件的位置并将列分隔符指定为手动加载数据(按预期工作)标签。

这是 .sql 文件:


DROP TABLE app.TC11_cert;

 CREATE TABLE app.TC11_cert (
  ID int not null,
  producttitle VARCHAR(600),
  product VARCHAR(600),
  platform VARCHAR(600),
  row1 VARCHAR(600),
  row2 VARCHAR(600),
  row3 VARCHAR(600), 
  row4 VARCHAR(600),
  row5 VARCHAR(600),
  row6 VARCHAR(600),
  row7 VARCHAR(600),
  row8 VARCHAR(600),
  row9 VARCHAR(600),
  row10 VARCHAR(600),
  row11 VARCHAR(600),
  row12 VARCHAR(600),
  row13 VARCHAR(600),
  row14 VARCHAR(600),
  row15 VARCHAR(600),
  row16 VARCHAR(600)
  );

如您所见,该文件删除了旧表并创建了一个新的空白表。

理想情况下,我想将此命令直接放在 create TABLE 部分之后

以下是我尝试过的 4 个命令,但均未成功:


/*
    CALL SYSCS_UTIL.SYSCS_IMPORT_TABLE 
    ('APP','TC11_CERT','MasterDatabase.txt', '', '\t', null, 0);

LOAD DATA INFILE '\MasterDatabase.txt' INTO TABLE TC11_CERT
FIELDS TERMINATED BY '\t' ESCAPED BY '\b';

CALL SYSCS_UTIL.SYSCS_IMPORT_DATA_LOBS_FROM_EXTFILE
   (null,'app.TC11_cert','\MasterDatabase.txt','\b','\t',null,0);

   CALL SYSCS_UTIL.SYSCS_IMPORT_DATA_LOBS_FROM_EXTFILE
    (null, 'TC11_CERT', 'ID', '1', '\MasterDatabase.txt', '\b','\t','UTF-8',  0);

 */

如果您有任何问题,请询问 :)


编辑 2019 年 3 月 4 日:与此同时,我将在虚拟机中使用 AutoIt,看看我是否可以通过这种方式自动化这个过程(显然我更愿意对此进行编码)

4

0 回答 0