Netbeans JavaDB批量导入CSV文件中的数据

时间:2013-08-18 13:08:45

标签: sql netbeans import bulkinsert javadb

我对JavaDB和Netbeans感到非常沮丧!现在可以感谢任何帮助。我使用Netbeans 7.2.1和最新的Java SDK。

目的:
将CSV格式的数据从位于C:\的文件导入名为APP.USERS的JavaDB表。

我做了什么:
我使用以下代码尝试使用Netbeans中的SQL Query实用程序将数据导入表中:

  1. CALL功能:
  2. CALL SYSCS_UTIL.SYSCS_IMPORT_TABLE (null, 'USERS', 'FIRSTNAME,LASTNAME,USERNAME,PASSWORD,UNIQUENR,MEMBERSINCE,DOB,EMAIL,AWARDPOINTS,USERTYPE', 'c:\SQL_APP_USERS', '\n',',','UTF-8', 0); ` SELECT * FROM APP.USERS;`

    1. “其他”功能:
    2. INSERT INTO APP.USERS(FIRSTNAME,LASTNAME,USERNAME,PASSWORD,UNIQUENR,MEMBERSINCE,DOB,EMAIL,AWARDPOINTS,USERTYPE) VALUES (FROM 'c:\SQL_APP_USERS.txt' WITH ( FIELDTERMINATOR = ',', ROWTERMINATOR = '\n' )); --Check the content of the table. SELECT * FROM APP.USERS;

      的问题:

      • 阅读Oracle KB文档对我没有任何帮助! (http://docs.oracle.com/javadb/10.4.1.3/tools/ctoolsimport16245.html
      • 执行首先提到的功能显示结果:Error code -1, SQL state 42Y03: 'SYSCS_UTIL.SYSCS_IMPORT_DATA' is not recognized as a function or procedure.
      • 执行第二个提及的功能会显示结果:Error code -1, SQL state 42X01: Syntax error: Encountered "FROM" at line 2, column 9

      请帮助。

1 个答案:

答案 0 :(得分:2)

1。)你给我们的指定功能

CALL SYSCS_UTIL.SYSCS_IMPORT_TABLE(...

与错误消息

不匹配

SYSCS_UTIL.SYSCS_IMPORT_DATA未被识别为功能或程序。

2。)传递的值数量不符合要求     没有带8个参数的重载函数。

CALL SYSCS_UTIL.SYSCS_IMPORT_TABLE 
   (null,'STAFF','c:\output\myfile.del',';','%',null,0);
     1      2             3              4   5   6   7

CALL SYSCS_UTIL.SYSCS_IMPORT_TABLE 
   (null, 'USERS','FIRSTNAME,...,', 'c:\SQL_APP_USERS', '\n',',','UTF-8', 0);
     1      2             3                  4            5   6     7     8

序列错误。
这意味着每列都是一个单独的行。

'\n',','

应该是

',','\n'

3。)如果那么容易就会很好。

INSERT INTO ... VALUES (FROM 'c:\SQL_APP_USERS.txt'

所以这是一个简单的Java Utility类,可用于将CSV文件加载到数据库中。

Import CSV into Database example

测试:

  • 创建一个空文件c:\myfile.del

CALL SYSCS_UTIL.SYSCS_IMPORT_TABLE 
     (null,'CUSTOMER','c:\myfile.del',';','%',null,0);

enter image description here

此处,为测试创建了表FRIENDS

enter image description here

由于文件'c:\ myfile.del'为空,所以无事可做 没有错误:is not recognized as a function or procedure

enter image description here