Sql Netbeans JavaDB从CSV文件批量导入数据
我对JavaDB和Netbeans感到非常失望!任何帮助现在都将不胜感激。我将Netbeans 7.2.1与最新的Java SDK一起使用 目标:Sql Netbeans JavaDB从CSV文件批量导入数据,sql,netbeans,import,bulkinsert,javadb,Sql,Netbeans,Import,Bulkinsert,Javadb,我对JavaDB和Netbeans感到非常失望!任何帮助现在都将不胜感激。我将Netbeans 7.2.1与最新的Java SDK一起使用 目标: 将CSV格式的数据从位于C:\中的文件导入名为APP.USERS的JavaDB表中 我所做的: 我使用以下代码尝试使用Netbeans中的SQL查询实用程序将数据导入表中: 调用函数: 调用SYSCS\u UTIL.SYSCS\u IMPORT\u表 (空,'USERS', 'FIRSTNAME,LASTNAME,USERNAME,PASSWORD,
将CSV格式的数据从位于C:\中的文件导入名为APP.USERS的JavaDB表中 我所做的:
我使用以下代码尝试使用Netbeans中的SQL查询实用程序将数据导入表中:
调用SYSCS\u UTIL.SYSCS\u IMPORT\u表
(空,'USERS',
'FIRSTNAME,LASTNAME,USERNAME,PASSWORD,uniquener,MEMBERSINCE,DOB,EMAIL,AWARDPOINTS,USERTYPE',
'c:\SQL\u APP\u USERS'、'\n'、'、'、'UTF-8',0)代码>
`
从APP.USERS中选择*`
“其他”功能:
插入到
APP.USERS(FIRSTNAME、LASTNAME、USERNAME、PASSWORD、uniquener、MEMBERSINCE、DOB、EMAIL、AWARDPOINTS、USERTYPE)
值(来自“c:\SQL\u APP\u USERS.txt”
与
(
FIELDTERMINATOR=',',
rowdterminator='\n'
)代码>
——检查表格内容。
从APP.USERS中选择*代码>
问题:
- 阅读Oracle知识库文档对我没有任何帮助!!!(
http://docs.oracle.com/javadb/10.4.1.3/tools/ctoolsimport16245.html
)
- 执行第一个提到的函数将显示结果:
错误代码-1,SQL状态42Y03:'SYSCS_UTIL.SYSCS_IMPORT_DATA'未被识别为函数或过程。
- 执行第二个函数显示结果:
错误代码-1,SQL状态42X01:语法错误:在第2行第9列遇到“FROM”
请-帮助。1。)您为我们提供的指定功能
调用SYSCS\u UTIL.SYSCS\u IMPORT\u表
(
与错误消息不匹配
SYSCS\u UTIL.SYSCS\u IMPORT\u数据
不被识别为函数或过程
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实用程序类,可以用来将CSV文件加载到数据库中
测试:
- 创建一个空文件
c:\myfile.del
这里,为测试创建了表FRIENDS
由于文件“c:\myfile.del”为空,因此无需执行任何操作。
无错误:未被识别为函数或过程
感谢您提供的解决方案!!我现在收到一个错误:错误代码-1,SQL状态XIE0R:在文件c:\SQL\u APP\u USERS.csv的第1行导入错误:在第1行的意外位置读取endOfFile。错误代码99999,SQL状态XIE0E:在第1行的意外位置读取endOfFile。
我的csv文件看起来像1,John,Doe,john@example.com,helloworld\n2,Jane,Doe,jane@example.com,helloworld2
,其中\n指csv中的新行。我的顺序是“,”,“\n”。我该如何解决这个问题?@JohanBrink-First:我的例子很有效??第二:不要使用\n
很难维护。函数无法看到字符串结尾和新行之间的差异!所以请使用%
或任何其他字符串分隔符。不管怎样,让它工作起来。非常感谢。您刚刚帮助整个IT类解决了JavaDB问题。@moskito-x您能看看我的DB/Eclipse Hibernate问题吗?和
CALL SYSCS_UTIL.SYSCS_IMPORT_TABLE
(null,'CUSTOMER','c:\myfile.del',';','%',null,0);