Tag: jdbc

上传一个excel文件作为clob

有人可以给出一个关于如何通过JDBC将excel文件转换为oracle中的CLOB的想法。 我想知道如何使用API​​作为JDK的一部分将Excel文件转换为string,从string到clob的转换应该是直接的。 提前致谢。 如果已经提出类似的问题,请给我提供链接。

如何从Excel中插入行到MySQL数据库?

我GOOGLE和谷歌search,但无法find一个单一的适当的工作示例,最后我把这个转换为MySQL导入我的情况下,这里是代码: import java.io.*; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFCell; import java.util.*; import java.sql.*; public class Import { public static void main(String[] args) throws Exception{ /* Create Connection objects */ // Class.forName ("oracle.jdbc.OracleDriver"); Properties connectionProps = new Properties(); connectionProps.put("user", "myUSERNAME"); connectionProps.put("password", "myPASSWORD"); Connection conn = DriverManager.getConnection("jdbc:mysql://" + "serverIP" + ":" + "3306" + "/" […]

将Excel上传到Java Servlet,并在数据上传时获得结果

我有一个应用程序,我试图从浏览器上传一个Excel文件(约21,000行) – 应用程序是用JSP,Servlet,Apache POI和JDBC编写的。 现在使用Servlet从浏览器(jsp文件)上传文件,然后使用Apache POI读取excel文件的logging,然后将行写入到MySQL数据库。 上传成功运行并能够将logging插入到Mysql数据库中。 然而,jsp页面只停留在那里,只有几分钟后才会通知用户成功上传。 任何人都可以帮助我如何向用户显示浏览器上的消息,该文件已成功上传,但正在处理? 任何更好的代码执行也请让我知道。 我的Servlet代码如下 import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.util.Iterator; import java.util.List; import java.util.logging.Logger; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.apache.commons.io.FilenameUtils; import org.json.simple.JSONObject; import src.com.pion.web.config.business.UploadFileProcessor; /** * Servlet implementation […]

在java中访问一个.xlsb文件

我有下面的JDBC代码。 我试图创build一个dnsless连接。 import java.sql.DriverManager; import java.sql.Connection; import java.sql.SQLException; public class dummy { public static void main(String[] argv) { System.out.println("——– Oracle JDBC Connection Testing ——"); try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch (ClassNotFoundException e) { System.out.println("Where is your Oracle JDBC Driver?"); e.printStackTrace(); return; } System.out.println("Oracle JDBC Driver Registered!"); Connection connection = null; try { connection = DriverManager.getConnection( "jdbc:odbc:Driver={Microsoft […]

Java:无法使用JDBC ODBC更新Excel

我可以读取行/列很好,但我不能更新,插入或删除。 try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String myDB = "jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=myExcelFile.xls;" + "DriverID=22;READONLY=false"; con = DriverManager.getConnection(myDB, username, password); stmt = con.createStatement(); stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); rs = stmt.executeQuery("SELECT * FROM [users$]"); while (rs.next()) { String str = rs.getString("username"); System.out.println(str); rs.updateString("username", str + "UPDATED"); rs.updateRow(); } rs.close(); stmt.close(); con.close(); }catch(Exception e){System.out.println(e);} 这段代码在到达rs.updateRow();时失败rs.updateRow(); 并显示这个错误: java.sql.SQLException:行中的[Microsoft] [ODBC Excel驱动程序]错误 注意:有些人说这是因为READONLY没有设置为false或0,但我已经完成了,并且Excel文件也没有设置为只读 […]

使用jdbc连接到Excel表格,而不指定DSN到Excel表格

我想使用jdbc或其他方法连接到Excel工作表,但我不想使用pipe理工具指定相同的DSN。 他们是否使用代码来做到这一点? 如果是的话如何? 提前致谢

Java 64位JDBC-ODBC驱动程序问题

我有一个程序,使用32位JVM编译时工作正常,但如果我尝试使用64位JVM有问题。 我得到的消息是: "[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified" 。 我试图使用下面的代码连接到Excel和SQL Server数据库: String file = directory + "/fileName.xlsm"; String connectStr= "jdbc:odbc:DRIVER={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" + file + ";READONLY=false"; try { Class.forName(getDriver()); gConnection = DriverManager.getConnection(connectStr); //do stuff with connection } 当我试图检查驱动程序pipe理器,它似乎没有64位版本的驱动程序。 任何方式来解决这个很容易,并能够连接使用64位驱动程序,而无需手动更改计算机上的设置(因为此程序将分布在多台计算机,我不想单独下载驱动程序的计算机想要运行它)? 另外,使用64位驱动程序连接还是32位连接的效率更高一些(我的数据集非常大,所以差异很小)。