前提:
Host:
version:V5R3
support .net
Client:
software:client access
version :V5R3
service pack:SI21917 <This is the latest service pack>
在我们以前的所有的程序中,我们的所有的SQL语句是
SELECT FIELDA,FIELDB FROM LIBRARYNAME.TABLENAME
如果这样编写的话很不利于我们进行系统迁移。
如何提升系统的可迁移性呢?
当然了,迁移并不是说不用ISeries,而是,我们可以把部分非核心的业务,比如查询业务给剥离到Oracle中,对于中小量的数据量,查询速度绝对要优于ISeries.
目前在ISeries中,我们已经有用这样的能力,让我们的SQL永久的摆脱Library的限制了。
我们在ConnectionString中制定LibraryList~~
就如同我们在Rpgle程序中的 LibraryList一样。
他的机制=列表的最前面的最优先~~
Example可以看看我的框架的DataAccess.ISeries.ConnectionBuilder//这个地方其实有可修改的地方,比如查询用的,我们就设置成连接的ReadOnly=true之类的,可以提升很大的性能。
经过设置后的查询语句我们变成了
SELECT NAME FROM ACCOUNT
哈哈,是不是和别的数据库一样啊~~
Usually, 我们设置LibraryList =*USRLIBL,librarya,libraryb
如果LibraryList里面存在同名对象的时候,请注意顺序,当然了,同名的表是一个很不好的设计~~
use this,我们就可以查询QSYS的对象已经QSYS2的对象~~
michael9406 回复于:2006-02-23 08:34:47
wildfish
光明使者的研究已经步入另一个境界了。
wildfish 回复于:2006-02-23 09:55:53
凭着兴趣去做而已~
jj8610 回复于:2006-02-24 09:17:39
I am doing the same project now, could you give me any samples?
I am using:
http://www.lab400.com/product_detail.asp?prod_id=13283#prerequisites
Thanks in advance!
michael9406 回复于:2006-02-24 11:21:18
或者你可以分享些你的经验?
wildfish 回复于:2006-02-24 11:50:25
jj8610
等我的项目在tigris.org申请成功了,把你加为成员吧~
或者你可以看我的博客,我们沟通沟通~
你说的那本书有没有电子版本?那么贵,买不起:(
michael,我的经验你可以看我给你的那个freemind文件。
所有的都体现在里面,不过是比较概念性的。~
细节就得看代码。
michael9406 回复于:2006-02-24 15:28:09
引用:原帖由 wildfish 于 2006/2/24 11:50 发表
jj8610
michael,我的经验你可以看我给你的那个freemind文件。
...
我是对JJ8610讲的。是让他分享些经验。。。。
|