Subsonic 2.2 varchar2 maxlength problem
-
26-10-2019 - |
سؤال
I have a problem with saving 4000 characters to varchar2(4000) oracle 10g column it lets me save just 2000 characters and when I try to save exceeding 2000 character
I get tihs error
Can't save: GENERAL_ NOTE exceeds the maximum length of 4000
this is subsonic column definition
TableSchema.TableColumn colvarGeneralNote = new
TableSchema.TableColumn(schema);
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);
I can't save a string with exceeding 2000 characters to my varchar2(4000) column
Please advise me for that issue
Thanks - Adem
المحلول
it could mean that you are inserting multi-byte data. try changing field definition to : varchar2(4000 char)
also what is nls_length_semantics in your db and the Characterset.
نصائح أخرى
I changed field definition to varchar2(4000 char) and my db settings as follows NLS_LENGTH_SEMANTICS BYTE NLS_NCHAR_CHARACTERSET AL16UTF16
I also find that when characters when charactes count between 2000 and 4000 I got ORA-01460: unimplemented or unreasonable conversion requested error and when character count higher than 4000 I got Can't save: GENERAL_ NOTE exceeds the maximum length of 4000 error Now
Thanks Adem