Java jdbc记录从文本文件到数据库 [英] Java jdbc records from text file to database

查看:62
本文介绍了Java jdbc记录从文本文件到数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

数据库记录的代码,但是需要的是从文本文件中读取并在数据库中添加记录的代码



code for database records are added when the program runs, required however is the code which reads from text file and adds records on database

package Rdbms;

import java.sql.*;  
import java.io.*;  

class javardbms
{  
public static void main(String args[])throws Exception{  
Class.forName("org.apache.derby.jdbc.ClientDriver");  
Connection con=DriverManager.getConnection("jdbc:derby://localhost:1527/Oracle;create=true;user=Android;password=java");  
  
PreparedStatement y=con.prepareStatement("insert into GOOD values(45,'Who')");  
  
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));  
  
do{   
int i=y.executeUpdate();  
System.out.println(i+" records affected");    
System.out.println("Do you want to continue: y/n");  
String s=br.readLine();  
if(s.startsWith("n")){  
break;  
}  
}while(true);    
con.close();  
}}  





我的尝试:



更改了代码,使用了字符串文件路径



What I have tried:

changed the code , used string file path

推荐答案

import java.io.File;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

public class InsertTextFileToOracle {

  public static Connection getConnection() throws Exception {
    String driver = "oracle.jdbc.driver.OracleDriver";
    String url = "jdbc:oracle:thin:@localhost:1521:oracle";
    String username = "username";
    String password = "password";
    Class.forName(driver);
    Connection conn = DriverManager.getConnection(url, username, password);
    return conn;
  }

  public static void main(String[] args)throws Exception {
    String id = "001";
    String fileName = "fileName.txt";
    
    FileInputStream fis = null;
    PreparedStatement pstmt = null;
    Connection conn = null;
    try {
      conn = getConnection();
      conn.setAutoCommit(false);
      File file = new File(fileName);
      fis = new FileInputStream(file);
      pstmt = conn.prepareStatement("insert into DataFiles(id, fileName, fileBody) values (?, ?, ?)");
      pstmt.setString(1, id);
      pstmt.setString(2, fileName);
      pstmt.setAsciiStream(3, fis, (int) file.length());
      pstmt.executeUpdate();
      conn.commit();
    } catch (Exception e) {
      System.err.println("Error: " + e.getMessage());
      e.printStackTrace();
    } finally {
      pstmt.close();
      fis.close();
      conn.close();
    }
  }
}


这篇关于Java jdbc记录从文本文件到数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆