import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class DemoPreparedStatementSetAsciiStream {
public static Connection getConnection() throws Exception {
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:databaseName";
String username = "name";
String password = "password";
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, username, password);
return conn;
}
public static void main(String[] args) {
Connection conn = null;
PreparedStatement pstmt = null;
String query = null;
try {
conn = getConnection();
String fileName = "fileName.txt";
File file = new File(fileName);
int fileLength = (int) file.length();
InputStream stream = (InputStream) new FileInputStream(file);
query = "insert into LONG_VARCHAR_TABLE(id, stream) values(?, ?)";
pstmt = conn.prepareStatement(query);
pstmt.setString(1, fileName);
pstmt.setAsciiStream(2, stream, fileLength);
int rowCount = pstmt.executeUpdate();
System.out.println("rowCount=" + rowCount);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
pstmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}