oledb 处理excel 报错 UPDATE “Operation must use an updateable query”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oledb 处理excel 报错 UPDATE “Operation must use an updateable query”相关的知识,希望对你有一定的参考价值。

使用C# OLEDB方式 更新excel中的数据时候,发现报错{"Operation must use an updateable query."}


连接逻辑如下:

connStr = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + filePath + ";" + ";Extended Properties=\"Excel 12.0 XML;HDR=YES;IMEX=2\"";

更新语句如下

 string sql = "UPDATE [Sheet2$] SET val = 66.259 WHERE tid =3;"
 conn = new OleDbConnection(connStr);
 conn.Open();
 OleDbCommand cmd = new OleDbCommand();
 cmd.Connection = conn;
 cmd.CommandText = sql;
 cmd.ExecuteNonQuery();
 conn.Close();

报错为Operation must use an updateable query,期初以为是update语句执行失败,怎么修改都成功;

经过验证,问题出现在connStr 的 IMEX=2,取消此设置,OK,具体可参考popoxxll的博文

本文出自 “不会飞的蚂蚁” 博客,请务必保留此出处http://cseck100150.blog.51cto.com/3499398/1792230

以上是关于oledb 处理excel 报错 UPDATE “Operation must use an updateable query”的主要内容,如果未能解决你的问题,请参考以下文章

使用 UPDATE 查询更新 OLEDB 数据库

sql server导入Excel数据报错(microsoft.ACE.oledb.12.0异常)

ACE oleDb 驱动程序无法处理巨大的 excel 文件

oleDB 导入excel遇到的问题

查询表达式中的语法错误(缺少运算符),Oledb UPDATE 语句

C# 导入Excel数据到Datatable 在本地调试时没问题,上传到服务器就报错。