I am trying to fetch some records from a txt file and put those in Database in the following Java Program
package Java_Demo;
import java.sql.*;
import java.util.*;
import java.io.*;
public class Jdbc_Demo {
public static void main(String ...args)throws ClassNotFoundException,SQLException,FileNotFoundException {
FileInputStream fin=new FileInputStream("C:/Users/steve-pc/Desktop/Employees.txt");
Scanner s=new Scanner(fin);
s.useDelimiter(",|\\n");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@172.22.22.131:1521:orcl","Demo","demo");
while(s.hasNext())
{
PreparedStatement st=con.prepareStatement("Insert into Employee values(?,?,?)");
String name=s.next();
int id=s.nextInt();
int sal=s.nextInt();
st.setString(1,name);
st.setInt(2,id);
st.setInt(3,sal);
int result=st.executeUpdate();
System.out.println("Records Changed: "+ result);
}
con.close();
}
}
The txt file from which I am fetching the data has following format
Steve,12349,550000
Mark,54321,250000
Bill,65478,350000
Additionally the EMPLOYEE table has following format
Name Id Salary
Varachar2 Number Number
But the code is generating following ERROR
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:909)
at java.util.Scanner.next(Scanner.java:1530)
at java.util.Scanner.nextInt(Scanner.java:2160)
at java.util.Scanner.nextInt(Scanner.java:2119)
at Java_Demo.Jdbc_Demo.main(Jdbc_Demo.java:24)