[How To]如何让自己的.net程序摆脱Library的限制

前提:
   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的对象~~


 

原文地址:https://www.cnblogs.com/wildfish/p/335464.html