标签: oracle nhibernate
我正在使用NHibernate查询Oracle 8i数据库。问题是返回的对象中的所有字符串都带有特殊字符。例如,
CUSTOMER,ONE�������
nhibernate字段类型为AnsiString,Oracle数据类型为CHAR(20),字符集为CHAR_CS。我对甲骨文来说是全新的,所以我没有任何线索:(
答案 0 :(得分:4)
CHAR(20)表示根据需要填充字段,长度恰好为20个字符。填充字符是空白。
如果填充字符显示为问号,则字符集设置中的某处必定存在问题。您可以找到有关问题的更多信息here。
这里你需要修剪返回的字符串,或者更好地移动到VARCHAR2(20)。
答案 1 :(得分:0)
我找不到适合这个问题的解决方案,但是将nhibernate驱动程序从'OracleClientDriver'更改为'OleDbDriver'解决了这个问题。如果有人知道如何正确解决这个问题,请告诉我,因为我可能不喜欢使用OldDbDriver访问Oracle,因为可能存在兼容性问题。