DB组件的介绍.ppt_第1页
DB组件的介绍.ppt_第2页
DB组件的介绍.ppt_第3页
DB组件的介绍.ppt_第4页
DB组件的介绍.ppt_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,中国dt集团公司数据共享平台项目建设视频培训会,第九课DB组件的介绍,本课内容,Fiorano的简单调试。FioranoDB组件的介绍。添加驱动程序。,上周回顾,设计程序,在编写程序前首先需要设计程序。确定需要使用哪几种组件。每一种组件需要多少个。每一个组件需要实现的功能。,新建程序,用菜单-文件-new,开辟一个空白的工作面板。,取得需要的组件,直接从组件面板中将DB组件拖到主面板中。DB组件的位置,组件面板-DB-DB,主面板中就有了两个DB组件。,配置组件DB,双击DB1组件,提示正在打开配置页面,可以通过cancel取消刚才的操作。,配置组件DB1,打开后的配置页面。第一页数据库连接配置。需要配置的参数:Database:选择数据库类型Driver:数据库驱动程序URL:该驱动下的连接参数Username:数据库用户名Password:数据库密码配置完成后使用右下角的Test测试数据库连接。,SQL配置,配置组件执行的sql点击SQLconfiguration调出SQL配置页面,SQL配置,该页面下包含sql配置和高级属性两个分页面。,命名执行的操作,一个DB组件可以执行多个sql语句,每个sql语句都需要命名以加以区分。点击图中的加号按钮后可以添加表格。,选择执行方式,几乎所有的组件都有两种执行方式。PublishresultsScheduler分别对应于一般的方式和按一定的计划执行。,配置执行方式,只有在前面选择执行方式时选择Scheduler才能配置这个页面。,异常处理,异常处理,使用默认方式。按Finish完成DB组件的配置。,配置组件连接,需要建立组件间的连接时,首先需要改变鼠标的操作方式。,在启停程序的快捷按钮的左侧有两个按钮,分别表示鼠标为拾取实体或是建立组件间的连接。点击右边的按钮后,就可以在组件间拖线,来建立联系。在DB1的出口处按住鼠标左键,拖到DB2的入口处放开。,配置组件连接,双击未配置的连接可以调出工具Mapper,配置组件间的联系。或者通过鼠标右键-ConfigureTransformation配置,配置组件连接,按住鼠标的左键不放就可以拖放连接线。有两种联系,记录集间的联系和记录集内属性的联系。,记录集间的联系由源出口的记录集拖到结果集对应的ZEROMANY上面。属性间的联系在属性间直接拖线。,程序调试技巧,上周练习,上周练习中的某些问题。驱动加载的问题,在后面讲。发布运行时的问题,节点选择的问题。程序在正式运行前需要指定每个组件运行的节点。运行这些组件的节点只能是连接到该FES的FPS。也就是说受该FES管理的FPS。如果是没有连接到该FES的FPS,即便是在同一台服务器上也是不能运行该FES下的组件的。,拦截数据,正常情况下,前面的组件的数据将直接传送到下面的组件。这种数据的传输即不会经过FES也不会经过程序员的电脑。下图中数据将直接由取数据组件传送到存数据组件。为了调试的需要有时需要将数据拦截下来,也就是让取数据的组件把数据显示在程序员的电脑上,而不是直接传送到下面的组件。,拦截数据,拦截数据一般也称为设置断点。选中连接线右键-SetEventInterceptor设置断点后的程序显示如下面的右图,颜色会变成红色。,拦截数据,拦截到数据后连接线就会发生相应的变化。线条变蓝、加粗和不停的闪动。下图表示已经拦截到了数据。这时双击连接线就可以查看所传送的数据。,查看数据,双击连接线就可以查看所传送的数据。,这个窗口主要有两部分,上面显示一共有多少批次的数据。通俗的说法是前面的组件发出多少批的数据。下面部分,显示选中的批次的内容。最下面有一些操作按钮。对于DB组件每个批次包含多少记录,在DB组件中可以设置。,数据操作,数据一旦被拦截后,就不会被自动传往下面的组件。在这个窗口的下面有五个按钮可以对拦截到的数据进行操作。,Forward将选中的批次的数据传往下面的组件。ForwordAll将所有批次的数据传往下面的组件。Discard丢弃选中的批次的数据。DiscardAll丢弃所有数据。Close关闭窗口,不对数据进行任何操作。Forward和Discard是对选中批次的数据进行操作,但事实上,断点中的数据只能先进先出,也就是说只有第一个批次的数据这两个选项才有效。后面的数据要在前面的数据处理后才能操作。,取消断点,已设置的断点可以通过右键-RemoveEventinterceptor取消。如果断点中没有拦截的数据,断点将直接取消。如果断点中有数据将会提示对数据操作,然后取消断点。ForwardAll将数据传输到下一个组件后取消断点,DisposeAll丢掉数据后取消断点,Cancel放弃。,说明,设置断点事实上是通过向前面的组件发出了命令,将传往下一个组件的数据传往程序员的电脑。节点在接到命令后就会对命令做出反应。可以理解为,只有节点在线的情况下,才能有效的设置断点,如果节点不在线或是不存在,那么就不能设置有效的断点,甚至报错。数据只能被一个工具拦截,也就是说某个程序员设置断点后,其他的程序员在相同的地方设置断点时会报错。拦截到的数据是放在内存中的,如果拦截到的数据很多,会对程序员的电脑造成压力。退出打开的程序将自动取消设置的断点。,DB组件的介绍,DB组件介绍,DB组件是Fiorano提供的用于对数据库进行操作的组件。DB组件可以看作一个容器,Fiorano通过组件连接数据库,将需要的参数输入给数据库,把SQL语句交由数据库执行,然后取得需要的结果并且把这些得到的数据传输出去。DB组件支持对目前主流数据库的连接。DB组件可以实现取数据,对数据的更新、写入、删除和调用存储过程。DB组件在配置时,需要连接到数据库。配置完的组件再次打开时会自动检查数据库连接,如果连接中断会在尝试连接后报错。在写SQL语句时自动根据需要的属性列和得到的属性列生成出口和入口参数,包括出入口的属性名和属性的类型。DB组件可以通过配置执行方式使组件不停的执行。,DB对数据库的连接,DB组件并没有自带任何数据库的驱动程序,在连接数据前需要加载这些驱动程序。连接数据库的一般参数包括数据库类型,驱动,连接的URL,用户名和密码等。URL数据库类型和驱动类型对应,不同的数据库和不同的驱动程序有不同URL格式。,DB对数据库的连接,其他的重要参数有数据库自动提交autocommit,SQL执行时间,每批返回的数据量Fetchsize。Autocommit一般使用默认选择,也就是由组件在SQL执行完后执行提交工作,将所做的操作写入数据库。QuerytimeoutSQL执行时间限制。DB组件将SQL语句交给数据库执行后,并不会无限制等待,超过这个时间限制,将会被DB组件强制提交或是回滚,而导致SQL执行失败。对于需要的时间比较长的SQL就需要将这个参数调大。Fetchsize单独使用时并没有太大的作用,与后面的某个参数配合使用可以决定每个批次的数据的多少,或者说每个批次有多少条记录。,配置SQL语句,DB组件支持的操作包括select(取数据)、insert、update、delete、存储过程和监视表格。对于存储过程,有时间的话将在后面介绍。对于监视表格,DB会在配置时自动修改数据库中的某些信息,所以一般不推荐使用。一个DB组件可以执行多个SQL语句。,配置页面介绍,在DB组件的SQL配置页面中上面的框中显示的该DB组件下已有的SQL语句。下面的方框显示选中的SQL的详细信息。上面框的右边有4个功能按钮,分别可以进行相应的操作。包括增加、修改、删除和执行。,添加SQL语句,通过ADD按钮可以添加相应SQL语句。,查询SQL语句,在上面窗口中出现的只是SQL语句的SQL的名称,需要查询SQL的具体信息时需要选中SQL后查询下面的窗口。下面的窗口一共有4个分页,包括具体的SQL语句,输入端口、输出端口和其他的选项。,查询SQL语句,对于Test1来说并没有入口参数,却有出口参数。对于Test1语句从output中就可以看到这条语句执行后形成的出口参数,包括结果集的名称,各个属性的名称和属性的类型。这里出现的参数与配置连接线时出现的出口参数是对应的。通过右上角的advanced可以看到其他的一些信息。,查询SQL语句,通过右上角的advanced可以看到其他的一些信息。这里出现的一些信息不准备详细介绍。一般来说,当SQL语句完成时,DB组件会自动检查数据库将这些参数配置完成,并不需要程序员做很多修改。,修改SQL语句,通过第二个按钮可以修改选中的修改语句。能做的修改包括SQL的名称和具体的SQL语句。DB组件中SQL语句间的顺序不能修改。,修改SQL语句,通过弹出的页面可以修改SQL语句。但SQL语句修改后,DB组件一般会自动修改出口的参数,入口参数需要手动调整。通过下面的两个选项可以使出口和入口的参数保持不变。,删除SQL,通过第三个按钮可以删除不需要的SQL语句。,需要删除SQL语句时会出现提示窗口,确认所做的操作。按是的话,该语句将被删除。,SQL语句的执行,通过第四个按钮可以执行选中的SQL语句。新编程序或是在调试的时候可以通过这里的执行来测试所写的SQL语句是否能得到需要的结果。,SQL语句的执行,按下第四个按钮后出现下面的窗口。第一个分页面时输入参数页面,对于这条SQL不需要输入参数。按下下面的RUN会执行相应的SQL语句。,SQL语句的执行,按下下面的RUN后得到的结果。,SQL语句的执行,对于有输入参数的SQL语句就需要在第一个分页中输入相应的参数,SQL才能执行。否则会抱错。下面是上次可第二个组件的Insert语句,需要在Value中写入相应的值后,才能运行。Name为属性名,Type为属性的存储类型,Value为具体的值。,SQL语句的执行,对于对数据库有数据操作的SQL语句,在执行后可以将SQL执行对数据库所做的操作提交或是回滚。Commit为提交,Rollback为回滚。当按下Commit时刚才执行的insert语句,产生的相应的记录将会被写入数据库。,SQL语句的执行,推出执行页面可以通过第四个按钮cancel。如果刚运行的SQL语句对数据进行了操作,cancel意味着退出的同时回滚,也就是不将操作结果写入数据库。,编写SQL语句,编写SQL语句可以通过弹出的页面进行可视化的操作,这种可视化的操作对于简单的SQL语句来说非常方便,但是对于复杂的SQL语句,这种方式显得很烦琐。,编写SQL语句,对于复杂的SQL语句,特别是复杂的SELECT语句,建议在数据库的工具中写完SQL语句直接复制到SQL的窗口中。在按下确定后,DB组件将自动检查SQL语句是否合法以及配置相应的出入口参数。对于有问题的SQL语句会出现相应的出错信息。,带参的SQL语句,对于insert和update语句一般是带有输入参数的。某些SELECT语句也可能带有输入参数。例如符合某个条件的SQL语句,而这个条件又是不确定的,需要有前面的组件给出。这些SQL语句使用?表示输入参数。例如上课中的insert语句。,INSERTINTODATANG.TEST_B(A,B,C)VALUES(?,?,?),带参的SQL语句,带入口参数的SELECT语句可以先在数据库的工具中使用某个具体的值替代这个参数值。复制到DB组件时将这个数值改为?即可。例如对TEST_B的A列检索,查询需要的值。,SELECT*FROMTEST_BWHEREA=A,复制到DB组件时直接将A=A,改为A=?即可,SELECT*FROMTEST_BWHEREA=?,带参的SQL语句,带参SQL语句在修改时需要对入口参数进行手动配置。当上面的SQL通过EDIT修改后,入口参数需要手工调整。这时需要重新给出入口的属性名和数据类型。,INSERTINTODATANG.TEST_B(A,B,C)VALUES(?,?,?),INSERTINTODATANG.TEST_B(A,B)VALUES(?,?),带参的SQL语句,修改这些参数的名称和类型可以直接在上面修改。对于简单的需要输入参数的SQL语句,不建议使用EDIT来修改。可以用删除后新建来自动匹配入口参数。,SQL页面的其他参数,SQL配置页面有两个分页,SQL写完后可以配置其他的一些参数。,SQL页面的其他参数,这里有几个重要的参数,一般情况下可以使用默认。MaximumResponseSize:DB组件的出口传送数据时每批次数据的最大数据量。CommitMode:SQL执行时数据库提交方式。Generateresponsefornoselectedrecords:SQL没有得到数据时,DB组件产生一个空的消息传递给后面的组件。,SQL页面的其他参数,MaximumResponseSize:DB组件的出口传送数据时每批次数据的最大数据量。一条SQL语句在执行时可能会得到非常多的数据,DB组件在得到数据库给出的数据后并不是把所有数据一次性全部发出。DB组件将根据这个值的大小限定每批次的最大数据量,分批发出这些数据。例如SQL查询得到100W条记录,限定值为100,那么DB组件为将这些记录分为1W个批次,每个批次发出100条记录。这个值得调节并不是无限的,受到数据库连接配置时的Fetchsize的限制。即便调大Fetchsize的值,这个参数也不能无限调大。,SQL页面的其他参数,每批次的最大数据量的作用,首先是对网络的影响。其次是影响DB组件执行的速度。DB组件在接到数据库返回的数据时,需要将数据分批传递出去,这需要DB组件消耗一定的时间,限定的值越大,消耗的时间越短。对后面的组件的执行速度的影响,这个影响以后再讲。某些程序为了处理的方便可能要求每个批次只有一条记录。,SQL页面的其他参数,CommitMode:SQL执行时数据库提交方式。有入口参数的组件,接到数据后会启动相应的SQL语句。例如insert语句,当前方来了一个批次200条记录时,DB组件将数据传往数据库并执行写操作。一般来说一批数据会执行一次SQL语句。CommitMode:SQL执行时的提交方式,一般的话一个批次200条记录全部写入数据库后才提交。这种一次性提交方式下,200条记录中只要有1条记录有问题,将会导致所有记录全部抛弃,也就是剩下的199条记录也无法写入数据库。,SQL页面的其他参数,CommitMode:SQL执行时数据库提交方式。Auto自动提交:200条记录1条出错,剩余的199条记录将被作为异常数据处理。AfterBatch按批提交,需要附带设置下一个的参数。AfterRow逐条提交,每执行一条记录提交一次。也就是剩余的199条记录会被写入数据库。AfterDocument默认方式,一批数据执行完后,一起提交。剩余的199条记录直接作为错误抛出,不会启动异常处理。,SQL页面的其他参数,CommitMode:SQL执行时数据库提交方式。提交的方式会影响数据的正确写入。对于insert和update的操作,考虑到可能的错误,根据需要一般选用逐条提交。提交方式的不同还影响到DB组件执行的速度。逐条提交执行的速度最慢。,SQL页面的其他参数,Generateresponsefornoselectedrecords:SQL没有得到数据时,DB组件产生一个空的消息传递给后面的组件。一个程序中后面的组件需要得到前面的组件传输的数据时才能执行,如果前面的组件没有数据返回,一般也就不会有数据传出,后面的组件也无法执行有关的操作。而此时又想启动后面组件有关的操作,可以选中这个参数,发出一个空消息,就可以运行后面的组件,执行相关的操作。,执行方式,在SQL配置页面中有一个执行方式的选项,有两种方式。PublishResults普通方式,接受到数据时执行相关操作,用于程序中后面的组件。Scheduler按照某种计划执行。用户程序的第一个组件。,执行方式,选择Scheduler方式执行的话,需要配置执行方式的页面。第一个参数:pollingstarttime,启动时间,意义不大。Intervalbetweenpolls:相隔两次执行的间隔时间。Numberofpolls:执行次数。只有在不是无限次执行的情况下才有效。Infinitetimes:是否无限次执行。选中为无限次执行。,异常处理,DB组件提供了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论