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

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

这是代码:

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 

你有没有具体说明连接是在您的连接string中读取?

我不熟悉JDBC,但ODBC将是:

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

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

只需要在创buildDSN时取消选中读取。