当前位置:编程学习 > C#/ASP.NET >>

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也编辑了? --------------------编程问答-------------------- 没人知道吗?还是没提问清楚? --------------------编程问答--------------------
引用 2 楼 koyote_love 的回复:
你编辑的时候是不是连ID也编辑了?

没有编辑ID --------------------编程问答-------------------- 没有人知道吗?或者遇到过类似情况的呢? --------------------编程问答-------------------- 估计不是这个原因,可能是你的输入的字符串类型格式不对 --------------------编程问答-------------------- 在asp中是:string 
在oracle中是:varchar2

只是随便增加了一个字符,输入应该不会有问题吧
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,