- 论坛徽章:
- 0
|
我最近在SUN SOLARIS8下安装了oracle8.1.7数据库,建了几个简单的表,表名和字段都是用汉字。我在UNIX下写了一个简单的C++程序,通过OCI接口访问,结果我在取某个表的数据时出错:ORA-00911 invalid character。我把其中的一个表的表名和字段都换成英文时,就能正常读取。
我开始怀疑我的oracle字符集不是中文字符集,后来我用select * from V$NLS_PARAMETERS查询,结果如下:
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET ZHS16GBK
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZH:TZM
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZH:TZM
NLS_DUAL_CURRENCY $
NLS_NCHAR_CHARACTERSET ZHS16GBK
NLS_COMP BINARY
其中NLS_CHARACTERSET是ZHS16GBK,支持中文的。所以不知道这个问题怎么解决?
希望各位大虾帮帮忙。 |
|