dataview更新问题(提示ORA-12704: 字符集不匹配,麻烦看看)
查询用的dataview,选择的允许编辑,在编辑完成后更新时提示ORA-12704: 字符集不匹配
都是用户dataview控件建立起来的,自己没有写代码,
ProviderName="<%$ ConnectionStrings:njjf.ProviderName %>" SelectCommand='SELECT "AREA_ID", "NAME" FROM "TMP_NJJYW_AREA"' DeleteCommand='DELETE FROM "TMP_NJJYW_AREA" WHERE "AREA_ID" = :original_AREA_ID' InsertCommand='INSERT INTO "TMP_NJJYW_AREA" ("AREA_ID", "NAME") VALUES (:AREA_ID, :NAME)' OldValuesParameterFormatString="original_{0}" UpdateCommand='UPDATE "TMP_NJJYW_AREA" SET "NAME" = :NAME WHERE "AREA_ID" = :original_AREA_ID' OnSelecting="SqlDataSource1_Selecting">
提票的错误是:
ORA-12704: 字符集不匹配
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OracleClient.OracleException: ORA-12704: 字符集不匹配
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[OracleException (0x80131938): ORA-12704: 字符集不匹配
]
System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc) +167
System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals) +1719
System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciRowidDescriptor& rowidDescriptor) +503
System.Data.OracleClient.OracleCommand.ExecuteNonQuery() +125
System.Web.UI.WebControls.SqlDataSourceView.ExecuteDbCommand(DbCommand command, DataSourceOperation operation) +493
System.Web.UI.WebControls.SqlDataSourceView.ExecuteUpdate(IDictionary keys, IDictionary values, IDictionary oldValues) +915
System.Web.UI.DataSourceView.Update(IDictionary keys, IDictionary values, IDictionary oldValues, DataSourceViewOperationCallback callback) +179
System.Web.UI.WebControls.GridView.HandleUpdate(GridViewRow row, Int32 rowIndex, Boolean causesValidation) +1140
System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +835
System.Web.UI.WebControls.GridView.OnBubbleEvent(Object source, EventArgs e) +162
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +56
System.Web.UI.WebControls.GridViewRow.OnBubbleEvent(Object source, EventArgs e) +118
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +56
System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +107
System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +175
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +31
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +32
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +244
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3838
是否asp.net中的string和oracle数据库的varchar2类型不匹配,不能更新?
疑惑中,请高手解答,谢谢!
--------------------------------------------------------------------------------
--------------------编程问答-------------------- 再顶起来,麻烦看看,谢谢 --------------------编程问答-------------------- 你编辑的时候是不是连ID也编辑了? --------------------编程问答-------------------- 没人知道吗?还是没提问清楚? --------------------编程问答--------------------
没有编辑ID --------------------编程问答-------------------- 没有人知道吗?或者遇到过类似情况的呢? --------------------编程问答-------------------- 估计不是这个原因,可能是你的输入的字符串类型格式不对 --------------------编程问答-------------------- 在asp中是:string
在oracle中是:varchar2
只是随便增加了一个字符,输入应该不会有问题吧
补充:.NET技术 , ASP.NET