测试带有业务逻辑的trigger

十二月 9th, 2009 by admin


业务是这样:
触发过来的记录有以下一些判断约束:
新增:无约束,新增一条数据变动。
修改:
1) 如果变动表中存在同一记录的新增变动记录,但该新增变动记录处理状态为未处理,如果过滤状态为未过滤,则更新该新增变动记录的接受时间为当前时间;如果过滤状态为已过滤,则不做任何处理。
2) 如果变动表中存在同一记录的修改变动记录,但该修改变动记录处理状态为未处理,则更新该修改变动记录(更新接收时间为当前时间),并设置该修改变动记录的过滤状态为未过滤。
3) 其他情况,添加一条修改的变动记录。
删除:
1) 如果变动表中存在同一记录的新增变动记录,但该新增变动记录处理状态为未处理,则删除该新增变动记录。
2) 如果变动表中存在同一记录的修改变动记录,但该修改变动记录处理状态为未处理,则删除该修改变动记录,并添加一条删除的变动记录(或者更新该修改变动记录为删除变动记录,接受时间为当前时间,过滤状态为未过滤)。
3) 其他情况,添加一条删除的变动记录。

绿色oracle客户端

十二月 4th, 2009 by admin


以后不再需要安装oracle客户端了,需要两个dll文件,oci.dll和oraociei11.dll,只要扔到system32文件夹下就可以了。当连接数据库的时候,在Web.Config中的配置改为以下配置就OK了。

<add name="DataAccessQuickStart" providerName="System.Data.OracleClient" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.100)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl)));uid=system;pwd=123"/>

那用到的两个dll是从哪里来的呢?答案是从oracle官方网站上下载,下载地址为:instantclient-basic-win32-11.1.0.7.0.zip解压并找到上面讲的两个dll就OK了。在我写这个blog的时候,发现了其他的朋友也有写好的,地址分别是:
〔原创〕Windows下面怎样配置 Oracle10g即时客户端(绿色安装ORACLE客户端)
免安装的Oracle客户端 – Oracle Instant Client介绍与配置
可以参考上面两个朋友的文章。

使用EnterpriseLibrary与odp.net开发翻页程序

十一月 26th, 2009 by admin


EnterpriseLibrary,odp.net 企业库

client使用c#和odp.net连接server oracle

十一月 25th, 2009 by admin


The provider is not compatible with the version of Oracle client odp.net

ora-01157 无法标识 锁定数据文件 的解決

十一月 22nd, 2009 by admin


ora-01157

創建oracle trigger提示ora:01031錯誤的解決辦法

十一月 21st, 2009 by admin


有這樣一個需求:用戶A在表空間ts1下,用戶B在表空間ts2下,要求在用戶B下創建一個trigger,這個trigger的主要功能是修改用戶A中的表。
trigger如下:

create or replace trigger tri_test
after insert or update or delete on t_test
for each row

begin
if inserting then
insert into A.t_user(id,title,modifydate)
values(:new.ID,:new.TITLE,1,sysdate);
elsif updating then
update A.t_user t set t.title =:new.CTITLE,t.modifydate=sysdate where t.id=:new.ID;
[...]

解决System.Data.OracleClient需要Oracle 客户端软件8.1.7或更高版本

十月 10th, 2009 by admin


公司的一个项目要求服务器使用windows2008操作系统和oracle数据库,于是安装完成Windows2008后,就把去年下载的oracle10g复制到服务器上安装,没想到出错,弹出一个提示,上面一堆问号。后来一查才得知,Windows2008需要安装特定的oracle版本。于是到oracle官网上下载了win32_11gR1_database.zip,可以运行在Windows2008上
下面是从oracle官上网复制来的。注:下载oracle数据库要先登录oracle网站的。
Oracle Database 11g Release 1
Standard Edition, Standard Edition One, and Enterprise Edition
(11.1.0.7.0)
Microsoft Windows Server 2008 (32-bit) (1.9 GB) | See All (Including Client, Clusterware)
Microsoft Windows Server 2008 x64 (1.9 GB) | See All (Including Client, Clusterware)
(11.1.0.6.0)
Microsoft Windows (32-bit) (1.7 GB) | See All (Including Client, Examples, Gateways, Clusterware)
Microsoft Windows (x64) (1.7 [...]

oracle10g创建数据表的索引

十月 10th, 2009 by admin


oracle10g创建数据表的索引

Oracle数据库导入导出方式

十月 10th, 2009 by admin


Oracle数据库导入导出方式

oracle获取表的记录数、翻页存储过程、创建表空间

十月 10th, 2009 by admin


oracle获取表的记录数、翻页存储过程、创建表空间

pagepeel by webpicasso.de