"C#char有16位;谷歌搜索告诉我,Oracle CHAR类型是8位."
有几种方法可以解决这个问题.最好的解决方案是修复数据库,使其使用字符语义.
alter system set nls_length_semantics = char
/
Run Code Online (Sandbox Code Playgroud)
由于这会产生重大影响,因此您需要确保它能解决您的问题.修改表以使用字符语义,并查看它是否删除了ORA-12899异常.
SQL> create table t69 (col1 char(1 byte))
2 /
Table created.
SQL> desc t69
Name Null? Type
------------- -------- ----------------
COL1 CHAR(1)
SQL> alter table t69 modify col1 char(1 char)
2 /
Table altered.
SQL> desc t69
Name Null? Type
------------- -------- ----------------
COL1 CHAR(1 CHAR)
SQL>
Run Code Online (Sandbox Code Playgroud)
该文档提供了许多有关全球化和字符集的有用信息.你没有说你正在使用哪个版本的数据库,所以这里是关于长度语义的9i文档的链接.
| 归档时间: |
|
| 查看次数: |
2565 次 |
| 最近记录: |