Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Microsoft Excel作为SQL数据库_Java_Excel_Odbc - Fatal编程技术网

Java Microsoft Excel作为SQL数据库

Java Microsoft Excel作为SQL数据库,java,excel,odbc,Java,Excel,Odbc,我遵循了本文中提供的说明,代码运行良好 我的计划是制作一个jar文件(包含一个界面/GUI),将该jar文件分发给用户,然后让他们从一个excel文件读取/写入所有数据。当我将excel文件放入本地驱动器时,它可以工作,但当我将文件放入网络文件夹/服务器时,java会产生一个问题: java.exe遇到问题,需要关闭。我们很抱歉 谢谢你给我带来的不便 或 有什么建议吗?多谢各位 public class TestIntoExcel { public String s; public doubl

我遵循了本文中提供的说明,代码运行良好

我的计划是制作一个jar文件(包含一个界面/GUI),将该jar文件分发给用户,然后让他们从一个excel文件读取/写入所有数据。当我将excel文件放入本地驱动器时,它可以工作,但当我将文件放入网络文件夹/服务器时,java会产生一个问题:

java.exe遇到问题,需要关闭。我们很抱歉 谢谢你给我带来的不便

有什么建议吗?多谢各位

public class TestIntoExcel 
{
public String s;
public double number;
public Date d;
public void display()throws ClassNotFoundException, SQLException
{
    Class.forName("oracle.jdbc.driver.OracleDriver");
    Connection writeConnection = DriverManager.getConnection
        ("jdbc:odbc:usersavedataODBC");
    writeConnection.setReadOnly(false);
    Statement writeStatement = writeConnection.createStatement();
    writeStatement.executeUpdate("CREATE TABLE TEST_INSERT(COL1 INT,COL2 VARCHAR(10),COL3 DATE)");
    PreparedStatement writeStatement2 = 
        writeConnection.prepareStatement("INSERT INTO TEST_INSERT(COL1,COL2,COL3)VALUES(?,?,?)");

    for(int i = 0; i<3;i++)
    {
        writeStatement2.setDouble(1, i);
        writeStatement2.setString(2, "Row" + i);
        writeStatement2.setDate(3, new java.sql.Date(new Date().getTime()));
        writeStatement2.execute();
     }

    String query = "select *from[TEST_INSERT]";
    ResultSet rset = writeStatement.executeQuery(query);
    //System.out.println(rset);
    while(rset.next())
    {
        number = rset.getDouble("COL1");
        s = rset.getString("COL2");
        d = rset.getDate("COL3");
        System.out.println(number+"\n"+s+"\n"+d);
}

writeStatement.close();
writeStatement2.close();
writeConnection.close();
公共类TestIntoExcel
{
公共字符串s;
公众双倍号码;
公开日期d;
public void display()抛出ClassNotFoundException、SQLException
{
类forName(“oracle.jdbc.driver.OracleDriver”);
连接writeConnection=DriverManager.getConnection
(“jdbc:odbc:usersavedataODBC”);
writeConnection.setReadOnly(false);
语句writeStatement=writeConnection.createStatement();
executeUpdate(“创建表TEST_INSERT(COL1 INT,COL2 VARCHAR(10),COL3 DATE)”;
PreparedStatement writeStatement2=
writeConnection.prepareStatement(“插入测试_插入(COL1、COL2、COL3)值(?,?)”;

对于(int i=0;我可能会有很多东西。请检查,您可以先用excel打开它。PS是只读的。如果您要回写excel文件,轮子会很快脱落。正如我上面提到的,如果我将文件保存在本地驱动器中,从程序读取/写入并在excel中查看,一切都很好,但当我尝试同时通过放置网络文件夹中的excel文件,我将收到java.exe错误,excel文件为空。您是否正在执行任何写入操作?您是否可以从excel本身读取和写入远程文件?请稍等,我将用代码更新我的问题
public class TestIntoExcel 
{
public String s;
public double number;
public Date d;
public void display()throws ClassNotFoundException, SQLException
{
    Class.forName("oracle.jdbc.driver.OracleDriver");
    Connection writeConnection = DriverManager.getConnection
        ("jdbc:odbc:usersavedataODBC");
    writeConnection.setReadOnly(false);
    Statement writeStatement = writeConnection.createStatement();
    writeStatement.executeUpdate("CREATE TABLE TEST_INSERT(COL1 INT,COL2 VARCHAR(10),COL3 DATE)");
    PreparedStatement writeStatement2 = 
        writeConnection.prepareStatement("INSERT INTO TEST_INSERT(COL1,COL2,COL3)VALUES(?,?,?)");

    for(int i = 0; i<3;i++)
    {
        writeStatement2.setDouble(1, i);
        writeStatement2.setString(2, "Row" + i);
        writeStatement2.setDate(3, new java.sql.Date(new Date().getTime()));
        writeStatement2.execute();
     }

    String query = "select *from[TEST_INSERT]";
    ResultSet rset = writeStatement.executeQuery(query);
    //System.out.println(rset);
    while(rset.next())
    {
        number = rset.getDouble("COL1");
        s = rset.getString("COL2");
        d = rset.getDate("COL3");
        System.out.println(number+"\n"+s+"\n"+d);
}

writeStatement.close();
writeStatement2.close();
writeConnection.close();