
Hi
I want to upload a file(csv or excel) to Oracle 10g Database using JSP, here is my code which gives me an error..
Addfile.jsp
<%@ page import="java.sql.*" %>
<HTML>
<BODY bgcolor="#99CCCC">
<p> </p>
<br>
<h2 align="center">Upload File to Oracle Database</h2>
<form id="form1" enctype="multipart/form-data" action="UploadFile.jsp" method="post">
<table align="center">
<tr>
<td>Browse File </td>
<td><input align="center" type="file" name="csvfile" />
</tr>
</table>
<p/>
<center><input align="center" type="submit" value="Upload File"/></center>
</form>
</BODY>
</HTML>
UploadFile.jsp
[code]
<%@ page import="java.sql.*" %>
<%@ page import="java.io.IOException" %>
<%@ page import="java.io.PrintWriter" %>
<%@ page import="java.util.List" %>
<%@ page import="javax.servlet.ServletException" %>
<%@ page import="javax.servlet.http.HttpServlet" %>
<%@ page import="javax.servlet.http.HttpServletRequest" %>
<%@ page import="javax.servlet.http.HttpServletResponse" %>
<%@ page import="org.apache.commons.fileupload.FileItem" %>
<%@ page import="org.apache.commons.fileupload.disk.DiskFileItemFactory" %>
<%@ page import="org.apache.commons.fileupload.servlet.ServletFileUpload" %>
<HTML>
<BODY bgcolor="#99CCCC">
<p> </p>
<br>
<%
try {
// Apache Commons-Fileupload library classes
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload sfu = new ServletFileUpload(factory);
if (! ServletFileUpload.isMultipartContent(request)) {
System.out.println("sorry. No file uploaded");
return;
}
// parse request
List items = sfu.parseRequest(request);
FileItem PartNo = (FileItem) items.get(0);
String photoid = PartNo.getString();
FileItem SerialNo = (FileItem) items.get(1);
String phototitle = SerialNo.getString();
// get uploaded file
FileItem file = (FileItem) items.get(2);
// Connect to Oracle
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "hr", "hr");
con.setAutoCommit(false);
PreparedStatement ps = con.prepareStatement("insert into InventoryDB_Main(PartNo,SerialNo) values(?,?)");
ps.setString(1, photoid);
ps.setString(2, phototitle);
// size must be converted to int otherwise it results in error
ps.setBinaryStream(3, file.getInputStream(), (int) file.getSize());
ps.executeUpdate();
con.commit();
con.close();
out.println("File Uploaded Successfully.");
}
catch(Exception ex) {
out.println( "Error --> " + ex.getMessage());
}
%>
This is my code which is not working it throws error, index 1, size 1.
Please help me. I want to upload a file to Oracle 10g table directly. Help needed urgently.
Thanks in advance Lissy.
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.