对于大部分企业应用来用,有一个基本的功能必不可少,那就是Audit Trail或者Audit Log,中文翻译为追踪检查、审核检查或者审核记录。我们采用Audit Trail记录每一笔业务操作的基本信息,比如操作的基本描述、操作时间、操作者等。对于一些安全级别比较高的应用,或者操作一些比较敏感的数据,我们甚至需要记录该笔业务操作引起的数据的改变。具体来说,这里的“数据改变”指的是每一条影响的记录在操作执行前后的变化。对于添加的记录,需要记录下新插入的记录;对于删除的记录,需要记录下原来的记录;对于更新的记录,则需要同时记录下更新前后的记录。
说到这里,很多人都会想到采用触发器的方式来实现对数据改变的捕捉。但是这种实现方案具有一个***的局限:由于触发器是在数据操作所在事务范围内执行的,所有会带来性能的问题,严重的话还会因为触发器的执行导致事务超时。所以在这里,我们介绍一种更好的解决方案:SQLCDC。
目录
一、SQLCDC简介
二、在数据库级别开启CDC
三、为某个数据表开启CDC
四、记录添加记录的数据改变
五、记录删除数据的数据改变
六、记录更新记录的数据改变
一、SQLCDC简介
CDC的全名为Change>
四、记录添加记录的数据改变
现在我们就可以来试验CDC针对某个数据表的数据改变的捕捉功能了,我们先来试试记录的添加操作。为此,我们执行如下一段T-SQL,插入两笔User记录。
然后通过如下的T-SQL查看cdc.dbo_Users_CT表的数据是否将添加操作涉及到的数据改变保存起来。从查询结果我们清晰地看到,上面添加的两笔记录已经被记录下来,而__$operation字段为2表示的是“插入”操作。
五、记录更新数据的数据改变
接下来我们来CDC对更新操作的追踪记录,为此我们通过下面的T-SQL改变了用户Foo的Birthday。
再次执行对于cdc.dbo_Users_CT的全表查询,你会看到这次多了两笔记录。其中第3条记录的是修改之前的数据,而第四条则是修改之后的数据,它们的__$operation字段德值分别为3和4。
在这里值得一提的是__$update_mask字段的值,它表示的记录更新操作改变的字段。这是一个以16进制表示的数字,在进行对修改字段进行判断的时候需要将其转换成2进制。上述的更新操作对应的__$update_mask值为0x04,转化成2进制就是100,这三位分别代表3个字段。不过这里的顺序是从右到左,所以100这三位表示的字段为Birthday、Name和Id。1表示改变,0则表示保持不变。由于在上面的T-SQL中,我们只改动了Birthday,这个和100这个值是吻合的。
六、记录删除记录的数据改变
我们***来演示当我们对记录实施删除操作的时候,CDC会为我们记录下怎样的数据。现在我们执行如下的T-SQL将Users表中所有的记录均删除。
查看cdc.dbo_Users_CT的记录,多出的两笔记录正式我们删除的User记录,__$operation字段的值为1表示“删除”操作。
本篇文章仅仅是简单介绍SQLCDC的基本原理和大体上的使用方式,这篇文章《Introduction to Change>
【编辑推荐】
现在企业流行的java框架技术是什么,有什么不同点
我将简短分析被用于支持这些框架的企业开发环境或工具箱,例如Borland JBuilder,Eclipse以及BEA Workbench。 请记住,市场上有许多有关这些开发框架的图书;然而,在任何一篇文章中,要对它们进行深入描述是不可能的。 不过,我将尽力讨论最广泛地使用的概念。 1. 共同点 几乎所有现代的网络开发框架都遵循了模型-视图-控制(MVC)设计模式--商业逻辑和描述被分开,由一个逻辑流控制器来协调来自客户端的请求和服务器上将采取的行动。 这条途径成为了网络开发的事实上的标准。 每个框架的内在的机制当然是不同的,但是开发者们使用来设计和实现他们的Web应用软件的API是很类似的。 差别还存在于每个框架提供的扩展方面,例如标签库,JavaServer Faces或JavaBean包装器等。 所有的框架使用不同的技术来协调在Web应用程序之内的导航,例如XML配制文件,java属性文件或定制属性。 所有的框架在控制器模块实现的方法方面也存在明显的不同。 例如,EJB可能实例化在每个请求中需要的类或使用Java反射动态地调用一个适当的行动(Action)类。 另外,不同框架在各自引入的概念上也有所不同。 例如,一个框架可能定义用户请求和反应(以及错误)场所,而另外一个框架可能仅仅定义一个完整的流--从一个请求到多个响答和随后的再请求…… 各种Java框架在它们组织数据流的方法方面是很类似的。 在请求发出后,在应用程序服务器上产生一些行动;而作为响应,一些可能包含对象集的数据总是被发送到JSP层。 然后,从那些对象--可能是有setter和getter方法的简单类,javabeans,值对象,或者一些集合对象--中提取数据。 现代的Java框架还想方设法简化开发者的开发任务,如通过使用简易的API,数据库连接池,甚至数据库调用包等提供自动化的追踪方式来实现。 一些框架或者能够钩进(hooked into)另外的J2EE技术中,例如JMS(Java消息服务)或JMX,或把这些技术集成到一起。 服务器数据持续性和日志也有可能成为框架的一部分。 2. 企业开发环境 一些框架在Web开发者社区和企业发展领域变得相当流行。 随着这些框架的日渐成熟并开始发行稳定的版本,商业的IDE(集成发展环境)开始为这些框架提供支持并把他们纳入到自己的产品中。 一些IDE甚至基于框架的概念开发出整个的产品,例如,BEA WebLogic Workshop就是基于Struts框架建立起来的。 Borland Jbuilder为Struts提供了内建的支持,也支持JSF和JSTL。 Eclipse平台已成为一个很流行的开发工具,部分因为它是基于插件的,部分因为它对于Web框架的支持。 现在,出现了众多的Eclipse插件,甚至完整的基于Eclipse的IDE。 许多插件被设计适合于Struts框架开发,例如MyEclipse()或M7。 大多数IDE都具有图形化的流程和可视化对象(类代理)。 例如,下面是一个JBuilder的行动(Action)设计器,用于规划Web应用程序的页面顺序。 WebLogic Workshop引入Java页面流程技术,它扩展了Struts框架而提供了一个简化的开发模型并增加了另外一些特性。 Workshop使用页面流(Page Flows),实现轻易地把用户接口与导航和商业逻辑分离开来。 页面流由JSP页组成,这些页面包含用户接口元素和一个控制器文件(JPF)--它包含由用户提供的数据将怎样被处理的指令以及下一步什么页面将被返回到用户的信息。 页面流动提供给开发者一个可视化的Web应用程序总体轮廓,它让开发者能够看到直观地分析不同的JSP页彼此相关联,并实现Web应用程序整体结构的快速建立。 MyEclipse提供类似的特征,并带有更多吸引人的代价标签。 3. Apache Struts框架 Struts框架是一开源产品,基于模型-视图-控制器(MVC)设计范例来开发Web应用软件。 它使用并且扩展了Java Servlet API,最初由Craig McClanahan创建。 在2000年5月,它被捐赠到Apache Foundation。 Struts框架展示了一个强有力的定制标签库,平铺显示,表单检验和I18N(国际化)。 另外,Struts支持许多描述层,包括JSP,XML/XSLT,JavaServerFaces(JSF)和Velocity;还支持一些模型层,包括JavaBeans和EJB。 4. Spring框架 Spring框架是一个分层的Java/J2EE应用程序框架,基于Expert One-on-One J2EE设计和发行的代码。 Spring框架提供一种简单的开发技术,用于自动化处理工程中大量的属性文件和助理类。 Spring框架包括的主要特色有: 1 强有力的基于JavaBeans的配置管理,使用Inversion-of-Control(IoC)原则。 2 一个核心bean工厂,可用在任何环境,从applets到J2EE容器程序。 3 通用的抽象层适合于数据库事务管理,允许可插入的事务管理器,并且不需要处理低层次的问题就可容易地划分各事务的界限。 4 一个很有意义的异常处理的JDBC抽象层。 5 与Hibernate集成到一起,DAO实现支持以及事务策略。 5. Hibernate框架 Hibernate是一适合于Java语言的对象-关系映射(ORM)解决方案。 它也是开源软件,类似Struts,并且在LGPL保护下发布。 Hibernate被一群来自世界各地的Java软件开发者所共同开发。 它提供一个易用的框架来实现把一个面向对象的域模型映射到一传统的关系数据库。 它不仅负责从Java类到数据库表格(以及来自Java数据类型的SQL数据类型)的映射,而且还提供数据查询和检索能力,并能大大减少花在SQL和JDBC手工数据处理上的开发时间。 Hibernate的目标是减轻开发者的与大量普通的数据持续性相联系的编程任务。 Hibernate还能够适应开发进程,无论它是刚开始设计还是来自一现成的数据库。 Hibernate可以自动生成SQL,使开发者摆脱了手工处理结果集和进行对象转化的繁琐任务,并能使应用程序移植到所有的SQL数据库。 它还能提供透明的持续性,对持续性类的唯一的要求的是实现一个无参数的构造器。 这个框架典型地使用在JavaSwing应用软件、基于Servlet的Java应用软件和使用EJBsession beans的J2EE应用软件中。 6. 结论 本文概述了现代最流行的Java Web开发框架。 当然,还有更多框架尚未描述,开源和商业化的都有,例如WebWork(或Tapestry(而许多框架通过扩展另外的MVC框架在内部被成功开发。 当前,最流行的框架是Apache Struts。 当Web开发竞技场继续演变它的工具和编程方法时,Java应用程序框架也将继续成长下去。 Java Web开发框架的未来一片明亮!

祝福升学的语句有哪些?
祝你金榜题名,前程似锦,一切如愿。 马到成功,高考如意,都能考上自己理想的大学。 我为你们祝福。 祝福高考学子顺利考上理想大学,美梦成真!1、恭喜你,你终于“生”了,别误会,我说的是你升上了大学,然后学业有成,找到个好工作,不就“生”财了吗?2、有一种总文走势叫不紧张,有一种总理模式叫要自信,有一种作文格式叫休息好,有一种数学公式叫心态好,有一种英语知识叫你很棒,有一种祝福方式叫放轻松,你能成功!祝你高考OK!3、用执着的笔,书写下吉祥;用拼搏的笔,书写下幸运;梦想的脚步,必须洒满汗水;未来的希望,就在高考的路上。 高考日到,愿你把握机遇,一切顺利!4、祝贺祝贺!小鬼考上大学,做叔叔的封你个大红包,希望你以后不负众望,来个出国留学!5、人生有梦想,总要执着去远方,生活有希望,总要乐观向前闯,未来不迷茫,多些勇气莫沮丧,祝你甜甜的升学祝福,新的环境,加油!
计算机软件及应用
三级考试大纲(网络技术) 基本要求 1、具有计算机软件及应用的基本知识。 2、掌握操作系统的基本知识。 3、掌握计算机网络的基本概念与基本工作原理。 4、掌握Internet的基本应用知识。 5、掌握组网、网络管理与网络安全等计算机网络应用的基本知识。 6、了解网络技术的发展。 7、掌握计算机操作并具有C语言编程(含上相调试)的能力。 考试内容 一、基本知识 1、计算机系统组成。 2、计算机软件的基础知识。 3、多媒体的基本概念。 4、计算机应用领域。 二、操作系统 1、操作系统的基础概念、主要功能和分类。 2、进程、线程、进程间通信的基本概念。 3、存储管理、文件管理、设备管理的主要技术。 4、典型操作系统的使用。 三、计算机网络基本概念 1、计算机网络的定义与分类。 2、数据通信技术基础。 3、网络体系结构与协议的基本概念。 4、广域网、局域网与城域网的分类、特点与典型系列。 5、网络互连技术与互连设备。 四、局域网应用技术 1、局域网分类与基本工作原理。 2、高速局域网。 3、局域网组网方法。 4、网络操作系统。 5、结构化布线技术。 五、Internet基础 1、Internet的基本结构与主要服务。 2、Internet通信协议——ICP/IP。 3、Internet接入方法。 4、超文本、超媒体与Web浏览器。 六、网络安全技术 1、信息安全的基本概念。 2、网络管理的基本概念。 3、网络安全策略。 4、加密与认证技术。 5、防火墙技术的基本概念。 七、网络应用:电子商务 1、电子商务基本概念与系统结构。 2、电子商务应用中的关键技术。 3、浏览器、电子邮件及Web服务器的安全特性。 4、Web站点内容的策划与推广。 5、使用Internet进行网上购物。 八、网络技术发展 1、网络应用技术的发展。 2、宽带网络技术。 3、网络新技术。 九、上机操作 1、掌握计算机基本操作。 2、熟练掌握C语言程序设计基本技术、编程和调试。 3、掌握与考试内容相关的上机应用 考试方式 一、笔试:120分钟 二、上机考试:60分钟 其他 三级考试大纲(PC技术) 基本要求 1、具有计算机及其应用的基础知识。 2、熟悉80X86微处理器的结构、原理及其宏汇编语言程序设计。 3、掌握个人计算机的工作原理及逻辑组成和物理结构。 4、掌握Windows操作系统的主要功能、原理、配置及其维护管理。 5、熟悉个人计算机常用外部设备的性能、原理及结构。 考试内容 一、计算机应用的基础知识 1、计算机技术的发展,计算机信息处理的特点,计算机分类,PC机的组成与性能评测。 2、数值信息在计算机内的表:整数的表示和运算,实数(浮点数)的表示和运算。 3、文字信息与文本在计算机内的表示:西文字符的编码,汉字的输入码、国标码、机内码,汉字的输出,通用编码字符集与Unicode。 4、多媒体技术基础:数字声音的类型,波形声音与合成声音,图像、图形的特点与区别,图像、图形和视频信息在计算机内的表示。 5、计算机网络的基础知识:计算机网络的功能、分类和组成。 数据通信的基本原则,网络体系结构与TCP/IP协议,因特网与IP地址,计算机局域网初步。 二、微处理器与汇编语言程序设计 1、微处理器的一般结构:寄存器组,存储器管理,总线时序,工作模式及典型系统配置。 2、Pentium微处理器的功能与结构:内部结构及工作原理,寄存器组,工作模式及存储器管理,中断管理,总路时序。 3、80X86系列微处理器指令系统:指令格式与编码,寻址方式,指令系统。 4、80X86宏汇编语言的程序设计:顺序、分支及循环程序设计,子程序设计、ROMBIOS中断调用和DOS系统功能调用。 三、PC机组成原理与接口技术 1、PC机的逻辑组成与物理结构:主板与芯片组,超组I/O芯片,主板BIOS等。 2、系统叫线的功能与工作原理,ISA总线和PCI局部总线。 3、主存储器的组成与工作原理:ROM和RAM,内存条与主存储器工作原理,Cache存诸器。 4、输入输出控制:I/O寻址方式与I/O端口地址,程序控制I/O方式,中断控制I/O方式,DMAI/O控制方式。 5、外设接口:串行接口,并行接口,SCSI接口,USB和IEEE-1394。 四、Windows操作系统的功能与原理 1、操作系统的功能,类型和Windows98的体系结构,WindowsAPI与DLL的基本概念。 2、Windows的处理机管理:Windows虚拟机,Windows虚拟机管理程序,Windows的进程调度技术。 3、Windows的存储管理:Windows的内存结构与管理,Windows的虚拟内存。 4、Windows的文件管理:Windows的文件系统结构,磁盘的存储结构,FAT16和FAT32。 5、Windows的设备管理:虚拟设备驱动程序,通过驱动程度与小型驱动程序,即插即用与配置管理,电源管理,打印子系统等。 6、Windows的网络通信功能:Windows的网络组件,程序网络与通信,分布式组件对象模型DCOM,Windows中的Internet组件。 7、Windows的多媒体功能:Windows对多媒体文件与设备的支持,Windows的多媒体组件,Windows的媒体播放器。 8、Windows的配置、管理与维护:安装与启动,注册表,系统配置与管理,系统性能监视和优化,故障诊断。 9、PC机的安全与病毒防范:计算机安全的一般概念,PC机病毒及其防范。 五、PC的常用外围设备 1、输入设备:键盘,鼠标器,笔输入设备,扫描仪,数码相机,声音输入设备及MIDI输入设备。 2、输出设备:crt显示器,液晶显示器与显示控制卡;针式打印机、激光印字机与喷墨打印机;绘图仪;MIDI音乐合成、3D环绕声生成与音箱;视频输出设备。 3、外存储器;软盘存储器;硬盘存储器的组成、原理与性能指标,活动硬盘,磁盘阵列;磁带存储器;光盘存储器的原理与分类,CD—ROM,CD—R和CD—RW,DVD光盘存储器。 4、PC机连网设备:Modem,ISDN与PC机的接入,ADSL接入,有线电视网与Cable Modem,局域网组网设备(以太网卡与集线器),无线接入技术。 六、上机操作 1、掌握计算机基本操作。 2、熟练掌握80X86宏汇编语言程序设计的基本技术、编程和调试。 3、掌握与考试内容相关的知识的上机应用。 考试方式 一、笔试:120分钟 二、上机考试:60分钟 三级考试大纲(信息管理技术) 基本要求 1、具有计算机软件及应用的基础知识。 2、掌握软件工程方法,具有软件开发的基本能力。 3、掌握数据库基本原则,熟悉数据库设计的基本方法。 4、掌握信息管理的基本原理,熟悉计算机信息系统开发的方法。 5、掌握计算机操作并具有C语言编程(含上机调试)的能力。 考试内容 一、基本知识 1、计算机系统组成和应用领域。 2、计算机软件基础知识。 3、操作系统基本概念和应用。 4、计算机网络及应用基础。 5、信息安全的基本概念。 二、软件工程 1、软件工程基本概念。 2、结构化分析,数据流图、数据字典、软件需求说明。 2、结构化设计,总体设计、详细设计、结构图、模块设计。 4、结构化程序设计。 5、软件测试,测试方法、技术和用例。 6、软件质量控制,软件文档。 7、软件工程技术发展。 三、数据库 1、数据库基本概念。 2、关系数据模型。 3、结构化查询语言SQL。 4、数据库管理系统。 5、数据库设计方法、步骤。 6、数据库开发工具。 7、数据库技术发展。 四、信息管理 1、信息管理基本概念。 2、计算机信息管理的发展过程。 3、管理信息系统的概念、功能和构成。 4、管理信息系统的开发,内容、策略和方法。 5、决策支持系统的概念、功能和构成。 6、办公信息系统的概念、功能、构成和工具。 7、信息管理技术发展。 五、信息系统开发方法 1、结构化分析与设计方法的步骤和内容。 2、企业系统规划方法的基本过程和作用。 3、战略数据规划方法的指导思想和基本内容。 4、原理化方法的策略和应用。 5、方法论的发展。 六、上机操作 1、掌握计算机基本操作。 2、熟练掌握C语言程序设计基本技术、编程和调试。 3、掌握与考试内容相关的知识的上机应用。 考试方法 一、笔试:120分钟 二、上机考试:60分钟 三级考试大纲(网络技术) 基本要求 1、具有计算机软件及应用的基本知识。 2、掌握操作系统的基本知识。 3、掌握计算机网络的基本概念与基本工作原理。 4、掌握Internet的基本应用知识。 5、掌握组网、网络管理与网络安全等计算机网络应用的基本知识。 6、了解网络技术的发展。 7、掌握计算机操作并具有C语言编程(含上相调试)的能力。 考试内容 一、基本知识 1、计算机系统组成。 2、计算机软件的基础知识。 3、多媒体的基本概念。 4、计算机应用领域。 二、操作系统 1、操作系统的基础概念、主要功能和分类。 2、进程、线程、进程间通信的基本概念。 3、存储管理、文件管理、设备管理的主要技术。 4、典型操作系统的使用。 三、计算机网络基本概念 1、计算机网络的定义与分类。 2、数据通信技术基础。 3、网络体系结构与协议的基本概念。 4、广域网、局域网与城域网的分类、特点与典型系列。 5、网络互连技术与互连设备。 四、局域网应用技术 1、局域网分类与基本工作原理。 2、高速局域网。 3、局域网组网方法。 4、网络操作系统。 5、结构化布线技术。 五、Internet基础 1、Internet的基本结构与主要服务。 2、Internet通信协议——ICP/IP。 3、Internet接入方法。 4、超文本、超媒体与Web浏览器。 六、网络安全技术 1、信息安全的基本概念。 2、网络管理的基本概念。 3、网络安全策略。 4、加密与认证技术。 5、防火墙技术的基本概念。 七、网络应用:电子商务 1、电子商务基本概念与系统结构。 2、电子商务应用中的关键技术。 3、浏览器、电子邮件及Web服务器的安全特性。 4、Web站点内容的策划与推广。 5、使用Internet进行网上购物。 八、网络技术发展 1、网络应用技术的发展。 2、宽带网络技术。 3、网络新技术。 九、上机操作 1、掌握计算机基本操作。 2、熟练掌握C语言程序设计基本技术、编程和调试。 3、掌握与考试内容相关的上机应用 考试方式 一、笔试:120分钟 二、上机考试:60分钟 三级考试大纲(数据库技术) 基本要求 1、掌握计算机系统和计算机软件的基本概念、计算机网络的基本知识和应用知识、信息安全的基本概念。 2、掌握数据结构与算法的基本知识并能熟练应用。 3、掌握并能熟练运用操作系统的基本知识。 4、掌握数据库的基本概念,深入理解关系数据模型、关系数据理论和关系数据库系统,掌握关系数据语言。 5、掌握数据库设计方法,具有数据库设计能力。 了解数据库技术发展。 6、掌握计算机操作,并具有用C语言编程,开发数据库应用(含上机调试)的能力。 考试内容 一、基础知识 1、计算机系统的组成和应用领域。 2、计算机软件的基础知识。 3、计算机网络的基础知识和应用知识。 4、信息安全的基本概念。 二、数据结构与算法 1、数据结构、算法的基本概念。 2、线性表的定义、存储和运算。 3、树形结构的定义、存储和运算。 3、排序的基本概念和排序算法。 4、检索的基本概念和检索算法。 三、操作系统 1、操作系统的基本概念、主要功能和分类。 2、进程、线程、进程间通信的基本概念。 3、存储管理、文件管理、设备管理的主要技术。 4、典型操作系统的使用。 四、数据库系统基本原理 1、数据库的基本概念,数据库系统的构成。 2、数据模型概念和主要的数据模型。 3、关系数据模型的基本概念,关系操作和关系代数。 4、结构化查询语言SQL。 5、事务管理、并发控制、故障恢复的基本概念。 五、数据库设计和数据库应用 1、关系数据库的规范化理论。 2、数据库设计的目标、内容和方法。 3、数据库应用开发工具。 4、数据库技术发展。 六、上机操作 1、掌握计算机基本操作。 2、掌握C语言程序设计基本技术、编程和调试。 3、掌握与考试内容相关的知识的上机应用。 考试方法 一、笔试:120分钟
发表评论