我在向varchar2(4000)oracle 10g列保存4000个字符时遇到问题 它让我只保存2000个字符,当我尝试保存超过2000个字符时
我得到了错误
无法保存:GENERAL_ NOTE超过最大长度4000
这是亚音速列定义
TableSchema.TableColumn colvarGeneralNote = new
TableSchema.TableColumn(模式);
colvarGeneralNote.ColumnName =“GENERAL_NOTE”;
colvarGeneralNote.DataType = DbType.String;
colvarGeneralNote.MaxLength = 4000;
colvarGeneralNote.AutoIncrement = false;
colvarGeneralNote.IsNullable = true;
colvarGeneralNote.IsPrimaryKey = false;
colvarGeneralNote.IsForeignKey = false;
colvarGeneralNote.IsReadOnly = false;
colvarGeneralNote.DefaultSetting = @“”;
colvarGeneralNote.ForeignKeyTableName =“”;
schema.Columns.Add(colvarGeneralNote);
我无法将超过2000个字符的字符串保存到我的varchar2(4000)列
请告知我这个问题
谢谢--Adem
答案 0 :(得分:2)
这可能意味着您要插入多字节数据。 尝试将字段定义更改为:varchar2(4000 char)
你的数据库和Characterset中的nls_length_semantics是什么。
答案 1 :(得分:0)
我将字段定义更改为varchar2(4000 char),我的数据库设置如下NLS_LENGTH_SEMANTICS BYTE NLS_NCHAR_CHARACTERSET AL16UTF16
我还发现,当字符数量在2000到4000之间时,我得到ORA-01460:未实现或不合理的转换请求错误,当字符数高于4000时,我得到无法保存:GENERAL_ NOTE超过最大长度4000错误现在
感谢Adem