随笔分类 - AS400
摘要:Birgitta 说: DDS描述的PF的插入/删除速度比SQL创建的来得快,但是Read的时候来得慢. 这是因为: DDS描述的PF是在数据Get的时候进行验证,而插入更新的时候并没有验证. SQL创建的PF刚好相反,数据验证只发生在写,而不是读. 正常你执行的操作是读远胜于写,比例大该为80:20. 我们谈论的是关于PF内部的数据验证,而不是关于你程序的验证. ...
阅读全文
摘要:功能挺多的.程序可读性还不错,很多程序风格值得借鉴.最有意思的是程序备注. 什么颜色都有,白 红 闪烁,眼花.....然后,根据自己的需要增加了IP 过滤.===============这是洋鬼子推荐的上传SAVF的方法The file in the zip is an AS/400 save file. I like to do it like this:-Unzip the file into...
阅读全文
摘要:[原文地址: http://www.think400.dk/adhoc_4.htm#eks0015]问题:使用VB 或者C 我能够很容易的增加数组的大小而不丢失原来的数据,在RPG里面是否也可能呢?回答:当然可以,但是你得基于指针建立数组。并且增长内存分配大小。具体看看操作码 ALLOC, REALLOC, 和 DEALLOC 。下面是一个快速的例子: * 数组定义--基于指针Darray ...
阅读全文
摘要:假设我们把一些核心的业务处理写成一个程序,固定的条件作为业务处理的依据,那么我们就编写了固定的参数,然后在很多地方调用。当然一开始的时候,程序并不会出现太大的问题。 一 ,当新的业务需求出现了,我们需要增加新的条件作为判断的依据,我们该如何做,增加一个固定参数??但是又有一些业务不需要这个新的条件作为判断依据,怎么办? 解决方案: 1。 入口参数增加一个 *nopass的参数 2。使用...
阅读全文
摘要:以前的方法很笨,是把每一个字段用 ||的方式拼接成一个字符串。其实,现在才发现,可以用RUNSQLSTMT来运行这个SQL,然后OutPut到一个Spool file里面。以下是思路:1.组装SQL语句,旧的程序可以用2.把组装好的SQL语句输出到QTEMP/RUNSQLSRC的默认的Member.3.调用RUNSQLSTMT来执行SQL语句。4.把输出的Spool File 拷贝到PF中5.喜欢...
阅读全文
摘要:原本封装了DataColumn。但是由于使用DataSet自定义的Remoting会丢失一些信息无可奈何,只好存入ExtendProperties.现在又觉得每次Convert.ToBoolean会消耗,觉得只需要用存在于不存在来判断是否拥有这个属性。:)有点体会封装的好处了。明天就把公司的底层修改一下,应该可以得到细微的优化吧。嗯,小记一下。明日修改一下公司框架的DataAccess即可。自己的...
阅读全文
摘要:就是由于以前定义的数据库都是固定长度的。所以取出来的数据都会自动后面补空格。。。。。。。这个真的很烦人。如果能够像OleDb一洋,自动把空格给删除了就一切ok了。看来得提交到IBM看看。
阅读全文
摘要:ORDEREntity entity = orderDataSet1.ORDERTable.CreateEntity(); entity.CUSTOMERNAME = this.txtCustomerName.Text; entity.ORDERDATE = DateTime.Now; entity.PROC...
阅读全文
摘要:前提: Host: version:V5R3 support .net Client: software:client access version :V5R3 service pack:SI21917 在我们以前的所有的程序中,我们的所有的SQL语句是SELECT FIELDA,FIELDB FROM LIBRARYNAME.TABLENAM...
阅读全文
摘要:在我们的示例中Account是一个单表的操作。前面的随笔已经有生成了AccountDataSet AccountDataTable AccountEntity AccountRule AccountSystem类了。所以这里我就不重复累赘了。如果不想做,可以直接下载demo的代码我们新建一个Winform,取名TestSingleTable.cs并如下画好界面。这里我偷懒,直接把AccountDa...
阅读全文
摘要:1.我们把编译好的Wildfish.dll拷贝到项目引用中2.打开FishSky.sln下的ConfigurationTool下的ConfigurationTool.exe进行代码生成 一般我们生成的是一些DataSet的类 1)代码生成-生成Data/BusinessRule/BusinessFacade代码 2)点Load Dic获取数据字典 ISeries需要选择特...
阅读全文
摘要:1.修改Wildfish.config.xml进行配置数据源 Copy一个DataAccessProvider 修改对应的属性 Your Iseries Project name FishSky.DataAccess.Base.ISeries Your Iseries server ip or name Real l...
阅读全文
摘要:1。Connection string: iDB2Connection connDB2=new iDB2Connection( "DataSource=your400.yourcompany.com;" + "userid=MIKE;password=MYPASSWORD;" + "LibraryList=*USRL...
阅读全文
摘要:系统工具提供了很多的常用工具。主要分为几大块:通用基类,EDI基类,工具类,缓存类,公共接口类。 1。通用基类包含了:应用日志,Web页面基类,参数集合,简单电子邮件发送。 应用日志使用log4net,所以需要一些额外的配置。 Web页面基类:封装了一些通用的函数,以及简单的绑定数据到datalist repeater之类,还有提供启动压缩view ...
阅读全文
摘要:Wildfish框架开篇1.Wildfish框架是什么? 这是一个基于.Net2.0的简化数据访问框架,他支持MSSqlserver/Oracle/ISeries数据库。当然了,我也不是希望说自己的框架是万能的。选择的数据库驱动都是支持@或者:来代表参数的。 目前只提供了Sqlserver的代码生成器,由于缺乏Oracle的测试环境,所以Oracle的都还没开始编写。 ISeries的代码生...
阅读全文
摘要:1。使用client access的从主机接收文件的功能2。一个洋鬼子写的 1) STRSQL 2) F13 3) 1 4) change "SELECT output" to 2 and save this setting (Enter, Enter) 5) SELECT dbxfil FROM qadbxref WHERE dbxatr IN ('PF','TB') A...
阅读全文
摘要:关于模块编译管理 背景 现在我们存在一个模块要编译或者参数(必须的不是可选得)需要增加,那么我们需要变异涉及到该模块的所有的程序,每次都需要Find一遍Source,找出对应的模块,如果是模块CALL模块,那就更加复杂了,需要找到这个调用该模块的模块对应的程序,以此类推,递归的查找,并且发布的时候还需要一个一个的编译,并且编译到远程的生产主机上。为了减轻维护的困难,我们应该建立一个模块对应的...
阅读全文
摘要:1。start join的问题还没有解决。 db2还是使用table scan2.原来的一个好好的,大概1.9秒 我加了索引,自认为合适的索引,结果花了2.3-3秒,郁闷。3.总结的 Monitor老是不能查询:( 不过,倒是发现了很多低效率的代码。不知道为什么 update delete老是使用TableScan,我明明都创建了索引了,Faint,明天翻翻那本E文的书。
阅读全文
摘要:1.用Sql Index替代logical file,因为前者会带来每次读64k,而logical file只能每次8k.sql index 有两种方式,evi 和rdi,具体的差别得找资料,正常的都是rdx。一般都可以通过create index来创建。 http://www-900.ibm.com/cn/support/nav/200303/p17.shtml 2.v5r3的 sqe(sql ...
阅读全文
摘要:146 Integrating DB2 Universal Database for iSeries with Microsoft ADO .NETIn this section, we discuss some of the things you can do to make the best use of the IBMDB2 UDB for iSeries provider. Read a...
阅读全文