|
前提:<br>Host:<br>version:V5R3 <br>support .net <br>Client:<br>software:client access<br>version :V5R3<br>service pack:SI21917 <This is the latest service pack><br>
<br>
在我们以前的所有的程序中,我们的所有的SQL语句是<br>
SELECT FIELDA,FIELDB FROM LIBRARYNAME.TABLENAME<br>
如果这样编写的话很不利于我们进行系统迁移。<br>
如何提升系统的可迁移性呢?<br>
当然了,迁移并不是说不用ISeries,而是,我们可以把部分非核心的业务,比如查询业务给剥离到Oracle中,对于中小量的数据量,查询速度绝对要优于ISeries.<br>
目前在ISeries中,我们已经有用这样的能力,让我们的SQL永久的摆脱Library的限制了。<br>
我们在ConnectionString中制定LibraryList~~<br>
就如同我们在Rpgle程序中的 LibraryList一样。<br>
他的机制=列表的最前面的最优先~~<br>
Example可以看看我的框架的DataAccess.ISeries.ConnectionBuilder//这个地方其实有可修改的地方,比如查询用的,我们就设置成连接的ReadOnly=true之类的,可以提升很大的性能。<br>
<br>
经过设置后的查询语句我们变成了<br>
SELECT NAME FROM ACCOUNT <br>
哈哈,是不是和别的数据库一样啊~~<br>
<br>
Usually, 我们设置LibraryList =*USRLIBL,librarya,libraryb<br>
如果LibraryList里面存在同名对象的时候,请注意顺序,当然了,同名的表是一个很不好的设计~~<br>
use this,我们就可以查询QSYS的对象已经QSYS2的对象~~ <br>
<br>
<br>
<img src="../leadbbsfile/UBBicon/em06.GIF" width=20 height=20 align=absmiddle border=0> |
|