Oracle
文章平均质量分 80
zhangpingfanyahoocom
这个作者很懒,什么都没留下…
展开
-
APEX下用HTML显示复杂表格数据的一种尝试
还是公司那个部门委托的那件事。 要将大量数据以复杂的表格表示到WEB画面上。(图为表格之一的缩微图像)为啥要作如此麻烦的表格? 因为这原来就是一个牛人在EXCEL上写的一个程序。EXCEL上做这些事情不是易如反掌嘛。用户要求将EXCEL的表格在Web上真实再现。 总体设想就是将HTML表格和数据分别处理,再用javascript整合到一起。具体做法如下:● 借用原先的E原创 2012-08-30 12:19:10 · 2326 阅读 · 0 评论 -
一剑易求双璧难得: 寻求与Oracle加密程序等效的Javascrip函数库
用户期望将Oracle中的加密数据下载到PC,在保证加密的同时,可以从PC上进行简单的检索。经过多方商议,最后选择将加密数据原样输出成Javascript可以读取的格式,比如JSON,然后用Javascript解读。这就需要一个与Oracle加密程序等效的Javascrip函数库。曾经试过Google等提供的加密JS数据库,可惜都与Oracle现有的函数结果不否。后来终于查到一原创 2015-11-24 13:59:55 · 701 阅读 · 0 评论 -
贵的未必是好的:T5220和X86服务器上Oracle性能之比较
在Solaris上跑Oracle已经10多年了。OS从2.6熬到10,DB从8.1熬到10.2。别说,这种组合还真给力。这么多年,就是没出过啥问题。3年前的2010年,硬件更新换代。行政上仗着预算富裕,硬是否定了技术人员的升级方案,购买了当时比较高档的T5220。 T5220服务器使用UltraSPARC T2 CPU。该CPU的时钟速度并不高,只有1.2GHz,但是有4个核,而且每个原创 2013-01-23 09:43:54 · 2101 阅读 · 0 评论 -
张冠李戴:用PL/SQL验证用户密码
公司施行严格的密码管理制度,要求Oracle用户每90天要更改密码一次。但是,有些用户并不使用SQL/PLUS,修改密码有一定困难。为此,有关方面希望能提供一个Web页面来完成此事。 对于APEX来说,这并非难事。关于页面设计和Security也不属本文探讨范围,所以省略。这里只说如何验证用户密码的问题。 一般修改密码时要求用户输入ID,原有密码,新密码(一般2次)等信息。原创 2013-11-10 14:11:14 · 2118 阅读 · 0 评论 -
别动我的奶酪:CSV文件数据丢零现象及对策
CSV文件在读入EXCEL时,对于前面有零的数据项,比如电话号码,会自作聪明地丢掉那个零。比如,我有一个北京客户,其号码为01059178888,如果这是通过CSV文件来的数据,在EXCEL中打开时,就成了1059178888。当然,微软官方帮助文件说,你在打开此类文件时,手动指定列的类型就可以避免丢零。如果我有几个这样的列,倒还可以,如果有几十个这样的列呢?累死人啊。还有,有些用户就希望彻底自动化,对此,微软还原创 2013-09-10 12:54:26 · 6597 阅读 · 0 评论 -
从业N年初次用到高等数学:用PL/SQL算IRR
从业N年,一直做企业内部系统。数年前,ITS部门来了一个A国(not USA)人,年龄比咱还小一轮。当然,自小喝洋墨水长大的,英语很溜。有次喝高了,对咱很不客气地说,你念那多书有啥用?我连大学的门都没进过,照样级别比你高一级。我听后很郁闷。但仔细想来,做公司内部系统吧,小学程度,会四则运算,逻辑上不糊涂,就可在世界500强企业的ITS部门混饭吃。又过了几年,那A国人又高就别处,咱还照样做着原创 2013-04-06 08:13:25 · 5708 阅读 · 3 评论 -
车轮再造(1):在APEX上使用Ajax一例:Update Table,旨在突破100Item/Form的限制
在APEX可以通过htmldb_get来实现Ajax功能。本文试图通过Update Table来解释如何使用htmldb_get。APEX不是可以通过FORM Page自动保存(Update)数据吗?多余。。。有人会这样说。其实,有时候就是需要自行更新(Update)表。比如说,在一个FORM中APEX允许最多100个Item。 如果你的FORM使用了100个以上的Item,怎原创 2013-02-05 13:32:53 · 1854 阅读 · 0 评论 -
车轮再造(2): 所需部件及源代码的全部
Parts:No.LocationNameComonor UniqueFunctionAApplication Itemgx_01,gx_02,gx_03Common用来容纳SQL语句的变量。APEX自定义变量。BApplication原创 2013-02-05 13:32:16 · 848 阅读 · 0 评论 -
驴槽马嘴:外来文字的对应(Oracle10.2.0.3)
营业部门送来的客户数据(CSV格式)里出现了乱码。 “三沢株式会社”。从上下文看,这大概是一个日文汉字。正是:驴槽上出了马嘴。从格式看,这是HTML NUMBER格式。大概是用户通过WEB页面输入,因为浏览器对这种格式可自动转换,显示时并不出现乱码,但是保存后会出现。 我的ORACLE用的是UNICODE,相信没有显示不了的字符。Oracle提供了一个UNISTR的函原创 2012-12-10 11:27:25 · 1106 阅读 · 0 评论 -
Oracle 10.2.0.3上压缩CLOB时的Corruption及其对应
服务器上有一Application,保存有30G的CLOB数据。虽然每周定时将一些CLOB退避到OS,还是发生了Tablespace不够用的现象(使用率约100%)。 经过反复调查发现,CLOB使用的LOBSegment在删除CLOB信息后,并不自动向Tablespace返回空白空间,这就造成其他数据需要空间时出现错误。所以需要通过SQL整理,使其返回空白的空间。 从10.原创 2012-11-16 08:52:32 · 2055 阅读 · 0 评论 -
在Oracle 11.2上用Gcc进行64bit编译(Solaris 11, x86)
从11.2版起,Oracle取消了ORACLE_HOME下的lib32 Directory,从32/64bit的双轨制彻底走向64bit的单轨路线。对于一些还希望使用32bit的人,解决问题的办法就是再安装一个32bit的Oracle Client。(当然,这回生成另一个ORACLE HOME。这应该没问题,可惜我没试过。) 但是,我遇到的问题是,用户希望升级到64bit,从原来的cc原创 2012-11-07 12:12:50 · 1992 阅读 · 0 评论 -
使用Oracle的Scheduller定期执行任务
f公司施行新的IT安全制度后,系统使用的帐号也要90天换一次密码。原先通过Solaris的Cron执行的Oracle上的任务,在密码到期未改时,就停止执行了。(是否更改Solaris配置可以避免?没去深究)此外,Oracle的账户密码更改后,要修改保存密码的Script文件。麻烦不说,系统安全上也有瑕疵。 其实,如果是纯粹在Oracle内部执行的任务,可以通过Oracle的Sche原创 2012-10-21 10:24:51 · 602 阅读 · 0 评论 -
APEX的IR下大量数据检索的提速方法---兼谈动态SQL在IR的实现
系统中有一个表积累了10多年的数据,记录有上百万条,系统的所有部门还不让将旧数据Archive出去。原因是有时候要检索旧数据(1回/月的频度)。但是,日常检索集中在今年及去年的数据,结果返回要花10秒以上。为此,终端用户不满意。 解决这一问题的办法可能是:按一定的Key分割数据,然后用动态SQL将需要的部分表示出来,以避免费时的大量数据搜索。 APEX下动态SQL可以用到一般的原创 2012-10-14 09:40:39 · 1306 阅读 · 1 评论 -
APEX 3.2上Interactive Report 的表头复制(1)(APEX4.1下运行通过)
最近为公司一个部门写了一个APEX应用。他们要把Excle上的100多栏(太宽?)的表显示在APEX的Interactive Report上。还不止这些,每页要显示的记录行数也要尽量多,250行(太长?)。这样实现并不难,但有个问题,用户在看数据时,表头经常跑到画面外。身首异地,很不方便。 能像Excel那样,将画面分割表示当然好,可惜不能。于是就想出了复制表头信息,将其插入需原创 2012-07-31 17:07:50 · 804 阅读 · 1 评论 -
APEX升级到4.1.1后遇到的几个问题
最近从3.2升级到4.1.1,遇到了以下几个问题。 1. Item的顺序发生变化这主要发生在具有相同序号的Item的显示顺序上。没啥好办法,尽量避免相同序号。如果不是原来的顺序,也只能手动改回来。 2. Delete按钮按下时,警告信息出现乱码(在IE7/8上出现乱码,在FireFox上不乱)APEX的设计画面是这样,自己制作的按钮如果使用javascript,其中的汉原创 2012-08-30 13:16:17 · 1300 阅读 · 0 评论 -
APEX 3.2上Interactive Report 的表头复制(2)(APEX设计画面截图)
(最近升级到APEX4.1.1了。这里的截图来自4.1.1,但是3.2上基本一样) 1. 上传Javascript到APEX。Javascript作为一个静态文件保存到APEX.Name Mime Type Size Application Updated U原创 2012-08-22 12:18:10 · 634 阅读 · 0 评论 -
APEX上自制菜单
虽然APEX的THEME提供了很好的菜单功能,有时候还是需要自制菜单。这里提供一个自制菜单的PL/SQL Procedure及使用实例。 比如,要做出这样的两级菜单: 显示菜单的两个Region:Display Point: Page Template Body (1)1 TabsPL/SQL Display原创 2012-08-22 13:32:40 · 1588 阅读 · 0 评论 -
介绍一个产生随机密码的PL/SQL函数
产生随机密码的基础是产生随机数。首先,必须有种子。DBMS_RANDOM.seed(l_seed)这个种子可以是字符串。为了增加随机性,这个种子字符串可以从Timestamp来获取。比如,l_seed := to_char(SYSTIMESTAMP,'YYYYDDMMHH24MISSFFFF');其次,有Value函数。DBMS_RANDOM.value(mix,max原创 2015-12-16 09:53:31 · 911 阅读 · 0 评论