最近遇到一个用户问题“在字符集为936ZHO的一个IQ 15数据库中创建有中文注释的存储过程后,注释是乱吗”。
获知这个问题后先再现问题:
(1) 编写一个测试存储过程
--testproc.sql
create procedure p_test
as
begin
--存储过程中文注释测试
select * from sysinfo
end;
(2) 在linux上使用dbisql -c "uid=DBA;pwd=sql" -onerror exit -nogui testproc.sql执行脚本
注意:执行前看一下OS账户的LANG环境变量值为en_US
(3) 创建成功之后,执行sp_helptext p_test查看存储过程代码(包括注释),显示见下图:
下面是解决问题的方法:
(1) 在执行dbisql之前设置OS账户的环境变量LANG
export LANG=zh_CN
(2) 重新创建存储过程即可
阅读(3373) | 评论(1) | 转发(0) |