碰上oracle字符集问题
前台UI进程(VC6编写)将UTF-8中文发给后台服务程序(Linux GCC),后台再写入oracle数据库,然后前台再通过后台将数据取出,并显示;后台没有做编解码转换,前台则在VC默认的GBK与UTF-8之间作转换。
开始时系统出现乱码,后来通过设置Linux一个环境变量、重启后台进程问题解决(问题是曾经尝试过更改该环境变量,但乱码依旧,不确定当时的原委)。
方式:
使用SQL*PLUS工具查询oracle server的字符集:
select userenv('language') from dual;
显示为“SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280”;
查看oracle client端的字符集:
echo $NLS_LANG
显示为空,于是执行export NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280',并重启进程,测试后问题解决。
如果oracle client与oracle server的字符集设置一致,则oracle不执行字符集转换。
相关文档:
这篇论坛文章(赛迪网技术社区)针对DBMS_SCHEDULER的使用方法进行了详尽的介绍,更多内容请参考下文:
DBMS_SCHEDULER是Oracle 10G中新增的一个包,与老版本的dbms_job包相比,dbms_scheduler有很多新特性,我将通过一系列的文章来介绍一下如何使用这个包.
1. 创建job
job ......
1.2 管理Jobs
1.2.1 启用Jobs
前面创建JOB时,由于未显式的指定ENABLED参数,因此即使指定了START_DATE,不过默认情况下JOB不会自动执行。对于这种情况,DBMS_SCHEDULER包中提供了一个过程ENABLE,可以用来修改JOB的启用状态,调用方式非常简单,例如:
SQL> exec dbms_scheduler.enable(¨INSERT_TEST_TBL& ......
前面一直尝试oracle的联机备份都没有成功,出现了0 file(s) copied,今天终于发现了问题所在,特低级的错误就是,原来Host copy语句要在运行命令窗口下运行才会生效,前面一直都太习惯在pl/sql中进行操作了。
oracle9i联机备份的过程
sql>alter tablespce mytp begin backup;
sql>host copy f:\oracle\oradata\myt ......
之前在项目中用到的分页都是假分页,也就是先从数据库中把所有的数据都查询出来然后在绑定时进行分页。这是一种假分页,效率较低,前几天听其他项目组说他们要使用数据库的存储过程来实现分页,感觉很疑惑,难道使用数据库还可以实现分页功能?闲来无事,就从网上搜了搜资料,果然,在oracl ......