OCILIB使用经验

    xiaoxiao2021-03-25  86

    1. 关于OCILIB字符集的设置

    只需设置NLS_LANG环境变量:

    我在项目中的情形是这样的:前端数据源(UTF8)-> 后台服务-> Oracle数据库(GBK),后台服务使用OCILIB。

    当后台服务运行在Windows(GBK),需要设置 NLS_LANG=SIMPLIFIED CHINESE_CHINA.UTF8;

    当后台服务运行在Linux(UTF8),需要设置 NLS_LANG=SIMPLIFIED CHINESE_CHINA.UTF8;

    结论:由此可见,只需将NLS_LANG环境变量设置成与数据源相同的字符编码即可

    备注:

    NLS_LANG=语言 地域.字符集

    查询Oracle字符集的sql:

        server端:select * from sys.nls_database_parameters

        client端:select userenv('language') from dual

    2. OCILIB和BOOST同时使用时

    注意: 一定要先包含boost头文件,再包含ocilib头文件。  因为存在boost中的类和ocilib中的宏同名的情况,如果先包含ocilib头文件,则boost中的同名类的无法使用,编译错误。

    转载请注明原文地址: https://ju.6miu.com/read-13657.html

    最新回复(0)