2020/02/15

Tiptop 4gl中如何调用Oracle存储过程

最近想用Tiptop程序直接调用Oracle的存储过程,从网上查资料发现了识途老驴的博客,测试后发现并不奏效,可能是版本不同吧,无法考证。

于是又查看了Genero的官方文档,曰:
To execute the stored procedure, you must include the procedure in an anonymous PL/SQL block with BEGIN and END keywords.
于是将4gl代码改造如下,即可执行。
     BEGIN WORK
    #PREPARE id1 FROM "CALL .pro_F001(?,?)"    #识途老驴的方法
     PREPARE id1 FROM "begin pro_F001(?,?); end;" #官方方法
     EXECUTE id1 USING l_str1 IN, l_str2 OUT   #传入所需参数
     PREPARE id2 FROM "begin pro_F002(); end;" #无需参数者
     EXECUTE id2
     COMMIT WORK
如果有参数同时具备传入/传出的参数,则为INOUT。

2019/09/17

Excel中生成随机中文姓名的函数

受微信公众号《SQL数据库开发》启发,将Excel中生成随机中文姓名的函数改良了下,在此记录,以备后用。
=MID("赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章",RANDBETWEEN(1,40),1)&CHAR((INT(16+RAND()*38+160)*256)+INT(94*RAND())+160)&IF(RANDBETWEEN(0,5)=0,"",CHAR((INT(16+RAND()*38+160)*256)+INT(94*RAND())+160))
改良内容包括:
  1. “姓”取百家姓前40个,也可以更多;
  2. 名字可单字或双字。 

2019/09/10

Ubuntu 18.04TLS 自动启动VirtulBox虚拟机

下面这篇文章已经够赞了,几乎无需多说什么。
https://roamingthings.de/posts/vboxautostart-service/
 小白们记得把VM="Name_Of_Your_VM"引号中的内容改成自己的VM名称即可。

2019/07/14

优秀软件推荐 - hMailServer

最近OA服务器与邮件服务器通信总是失败(连接失败后OA服务器就不重试了),一天总有十几次提示:
Transport connect to MailServer error:Could not connect to SMTP host: 192.168.x.xxx, port: 25
可又不是没次都不成功,失败的几率也就千分之二了,虽然概率不高,架不住User的抱怨,还是得想办法解决啊,于是有了“曲线救国”的想法,有幸找到了免费又开源的邮件服务器软件----hMailServer,其安装包大小仅3.92MB,但麻雀虽小,五脏俱全。

本次我用到功能仅Relay而已,设置好域名和Rule即可,把hMailServer安装在OA服务器本机,从本机连本机当然不会再失败了。

记得不要对外开放防火墙上该Server的25端口,避免被当“肉鸡”。

2019/05/31

查询Oracle锁表和清除锁定

查询(用system或sys用户)
SELECT l.session_id sid, s.serial#, l.locked_mode,l.oracle_username,l.os_user_name,s.machine, s.terminal, o.object_name, s.logon_time
FROM v$locked_object l, all_objects o, v$session s
WHERE l.object_id = o.object_id
AND l.session_id = s.sid
ORDER BY sid, s.serial# ;

清除(将上面查询到的内容替换sid和serial#)
ALTER system KILL session 'sid,serial#';