对于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
答案 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时取消选中只读即可。