Subsonic 2.2 varchar2 проблема максимальной длины - PullRequest
0 голосов
/ 17 марта 2011

У меня проблема с сохранением 4000 символов в столбце varchar2 (4000) oracle 10g это позволяет мне сохранить только 2000 символов, а когда я пытаюсь сохранить более 2000 символов

Я получаю ошибку

Невозможно сохранить: ОБЩЕЕ_ ПРИМЕЧАНИЕ превышает максимальную длину 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)

Пожалуйста, сообщите мне по этому вопросу

Спасибо - Адем

Ответы [ 2 ]

2 голосов
/ 17 марта 2011

это может означать, что вы вставляете многобайтовые данные. попробуйте изменить определение поля на: varchar2 (4000 символов)

также, что такое nls_length_semantics в вашей БД и наборе символов.

0 голосов
/ 17 марта 2011

Я изменил определение поля на varchar2 (4000 символов) и мои настройки БД следующие: NLS_LENGTH_SEMANTICS BYTE NLS_NCHAR_CHARACTERSET AL16UTF16

Я также обнаружил, что когда символы при подсчете символов между 2000 и 4000, я получал ORA-01460: не реализовано илинеобоснованное преобразование запросило ошибку, и когда число символов превышает 4000, я получил Не могу сохранить: ОБЩАЯ_ПРИМЬ превышает максимальную длину 4000 ошибок.

Спасибо Адем

...