【问题标题】:Excel DB: Operation must use an updateable queryExcel DB:操作必须使用可更新查询
【发布时间】:2011-06-29 00:18:13
【问题描述】:

对于 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

【问题讨论】:

    标签: java database excel jdbc


    【解决方案1】:

    您是否在连接字符串中明确说明该连接是读写的?

    我不熟悉 JDBC,但 ODBC 会是:

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

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

    【讨论】:

    • @amalbose 我添加了一条注释,希望对您有所帮助。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2010-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多