关于怎么配置SQL数据源,请参见
配置好之后,打开Date Prep Editor ,使用ODBC数据源预览表数据,会发现中文乱码的问题。
数据库为oracle 11g,编码为AL32UTF8
essbase应用程序为非unicode程序
ESSLANG为SimplifiedChinese_China.MS936@Binary
解决办法为在odbc.ini配置文件中对应数据源名称中添加
IANAAppCodePage=113
即可。
除此之外,不使用ODBC连接,而是直接使用oci连接,则没有这个乱码的问题。
另外,如果应用程序为unicode程序,则无须配置IANAAppCodePage也能正常显示中文。
根本原因是因为,当应用程序是unicode的时候,eas会直接默认sql 数据源的编码是UTF8,这样会和实际的编码一致,所以中文能正常显示。
但是应用程序不是unicode的时候,eas是使用ESSLANG的值来设定数据源的编码,即SimplifiedChinese_China.MS936@Binary,然而数据源实际上是UTF8,
这样就无法显示中文了。
解决办法就是在odbc驱动中添加IANAAppCodePage参数指定数据源的编码为113 (GBK),odbc会自动完成编码转换。
另外,为撒使用oci就没有这个问题呢?那是因为oci自动完成了编码的转换。

Essbase 11g EAS在加载SQL数据源时遇到中文乱码问题,尤其是在非Unicode应用程序中。解决方法是在odbc.ini的对应数据源中添加`IANAAppCodePage=113`,指定GBK编码。当应用程序为Unicode时,EAS默认UTF8编码,无乱码问题。使用OCI连接则由于自动编码转换避免了该问题。
最低0.47元/天 解锁文章
32

被折叠的 条评论
为什么被折叠?



