当前位置: 首页 > 知识库问答 >
问题:

JDBC驱动程序是否支持sql命令加载数据?

鲜于温书
2023-03-14

嗨,我想通过JDBC在DB2、Sybase、MySQL等多个数据库上创建表,现在我需要使用文本文件data.txt创建这个表,它包含数据空间分隔值。对于例如。

CustName OrderNo PhoneNo

XYZ      230     123456789
ABC      450     879641238    

现在这个data.txt包含数千个记录,以空格分隔的值。我需要使用java io逐行解析这个文件,并对每个记录执行sql insert查询。

我发现有一个加载数据的sql命令。是否有任何JDBC驱动程序支持此命令?如果不是,什么应该是解决这个问题的最好的、有效的、快速的方法。

请引导。提前道谢。

共有1个答案

葛子昂
2023-03-14

以下操作将通过JDBC工作。注意,要使用load DATA infile,您需要超级用户权限。在加载数据本地文件中不需要它

Connection con = DriverManager.getConnection("jdbc:mysql://localhost/foobar", "root", "password");
Statement stmt = con.createStatement();
String sql = 
    "load data infile 'c:/temp/some_data.txt' \n" +
    "   replace \n" +
    "   into table prd \n" +
    "   columns terminated by '\\t' \n" +
    "   ignore 1 lines";
stmt.execute(sql);

如果使用load DATA infile,文件位置将基于服务器的文件系统!如果您使用本地文件,那么显然它是基于客户机的文件系统的。

 类似资料:
  • 问题内容: 有人告诉我,加载JDBC驱动程序的首选方法是: 我知道,这对于从XML配置文件或用户输入中读取多个驱动程序之间的动态决策更好。我很好奇的是,调用此语句如何将指定的驱动程序加载到我们什至没有将生成的“ Class”对象存储在任何地方的环境中。JavaDocs条目说: 返回与具有给定字符串名称的类或接口关联的Class对象 在那种情况下,Java开发人员仅凭此语句如何设法促进驱动程序对象的

  • 问题内容: 我在春季配置了一个netezza db。我在类路径中添加了依赖的nzjdbc.jar 春季配置: 问题答案: 将放入您的本地Maven存储库 (在该目录执行这个位于 然后像正常依赖项一样使用它: @请参阅安装第三方JAR的指南

  • 问题内容: 在进行简单的JDBC连接时,所有资源都提供相同的代码, 但是我们实际上与“ Class.forName(driver)”无关。我们没有将其存储在任何地方。它的用途是什么,因为我们与Class.forName(driver)的返回无关。 问题答案: 尝试加载命名的类。在早期的JDBC版本中,这是必需的,因为该类要求以这种方式加载该类。多年以来都不需要这样做。 忽略通话,不会发生任何不良情

  • 我正在上使用。我试图弄明白如何使用数据导入从加载数据。但我最终无法加载JDBC驱动程序类。以下是我所做的: 把放到 1.配置: 2.配置: 在

  • 我在为Em申明德比加载JDBC驱动程序时遇到了问题。以下是我编译和运行我的程序的案例 > 案例1: 编译:E:\java\WorkReminder Run: E:\java\WorkReminder 错误: 无法加载JDBC驱动程序org . Apache . derby . JDBC . embedded driver。请检查您的类路径。Java . lang . classnotfoundex