Excel DB:操作必须使用可更新的查询

时间:2011-02-17 10:46:46

标签: java database excel jdbc

对于jdbc程序,我需要连接一个excel数据库。连接成功,但是输入值,它给出了“操作必须使用可更新查询”的例外。

这里是代码:

        String url="jdbc:odbc:Sample";   //CHANGE THE DATABASE NAME
        Connection conn= DriverManager.getConnection(url,"","");
        PreparedStatement prepstat = null;
        String insert="INSERT INTO [Sheet1$] ([AccountID], [ProjectID], [PositionID]) VALUES (?,?,?)";
        prepstat= conn.prepareStatement(insert);
        prepstat.setString(1, accountID);  
        prepstat.setString(2, projectID);
        prepstat.setString(3, positionID);
        prepstat.executeUpdate();   // this is where the exception occurs

2 个答案:

答案 0 :(得分:5)

您是否具体说明连接是否在连接字符串中是可读的?

我不熟悉JDBC,但ODBC将是:

"Driver={Microsoft Excel Driver (*.xls)};" & _
"DBQ=C:\MyFolder\MyWorkbook.xls; ReadOnly=False;"

Excel默认为只读:http://support.microsoft.com/kb/257819

答案 1 :(得分:0)

只需在创建DSN时取消选中只读即可。