你如何LIMIT在DB2 for iSeries中做到这一点?
我有一个超过50,000条记录的表,我想将记录0到10,000,并记录10,000到20,000.
我在SQL中知道你LIMIT 0,10000在查询结束时写入0到10,000,LIMIT 10000,10000在查询结束时写入 10000到20,000
那么,这在DB2中是如何完成的?什么是代码和语法?(完整的查询示例表示赞赏)
我正在尝试使用SQL构建一个.NET Web应用程序来查询AS400数据库.这是我第一次遇到AS400.
我需要在我的机器(或AS400服务器)上安装什么才能连接?(IBM iSeries Access for Windows ??)
连接字符串的组成部分是什么?
在哪里可以找到使用SQL命令构建数据访问层的示例代码?
谢谢.
我有一个即将到来的项目,我需要将我们的网站(PHP5/Apache 1.3/OpenBSD 4.1)连接到运行在带有OS400 V5R3的iSeries上的后端系统,以便我可以访问存储在那里的一些表.我已经做了一些检查,但遇到了一些障碍.
从我所看到的,IBM的DB2扩展和DB2软件只能在Linux下运行.我已经尝试用IBM的所有软件编译扩展,甚至尝试了他们的预编译ibm_db2扩展而没有运气.IBM只支持Linux,所以我在内核中打开了Linux仿真,但似乎没有任何帮助.
如果有人碰巧在OpenBSD下本地运行一切都会很棒,但我认为我可能要做的就是在安装了DB2的情况下建立第二台运行CentOS的服务器(最有可能通过ZendCore for IBM,因为它似乎可以完成所有操作)这对我来说)和驱动程序,以便我可以设置一个小的事务服务器,我可以发布,并获得我需要的DB2数据的JSON表示.
第二种选择是否有点矫枉过正,还是其他人有更好的想法?
在IBM iSeries系统上,我运行了一个Java程序 - 一个带有Web服务器组件的应用程序服务器,所有这些都是内部开发的.在32位或64位J9 JVM(IBM Technology for Java)上运行时,我有内存泄漏的症状.
请注意,在iSeries经典JVM,多个Sun/Oracle JVM和Linux JVM上运行此软件时,不会出现任何问题.哎呀,我经常在我妻子的入门级笔记本电脑的时间离开周运行相同的软件,而我在我的网站的工作 - 我可以向你保证,如果它是内存泄漏,将那个东西被发现.
如果我刚刚离开一个普通的香草系统运行空闲,没有配置应用程序(基本上就是邮件系统和Web服务器),堆只是继续缓慢增长,导致随着时间的推移被分配更多的内存,每个GC周期不相当于收集到以前的水平.对于没有问题的JVM,模式完全相同,除了那些GC扫描总是将堆减少到之前的GC级别.

但是,如果我在稳定后启动JVM系统转储并在分配的堆显着增长后进行后续转储,则差异比较表明运行一周后不再有可达对象,而不是启动时.最近的一个,一周后显示6个额外的类加载和一些明确相关的对象.对所有活体物体的彻底评论都没有显示出任何让我意想不到的东西.
我已经尝试了优化的吞吐量和世代并发的垃圾收集器.
因此,根据作业的堆大小,我们似乎正在泄漏,并且根据堆转储,没有任何泄漏.
没有调用JNI方法(除了作为核心JVM的一部分运行的本机代码),它肯定是正在增长的堆 - 我可以清楚地看到IBM WRKJVMJOB信息以及在我的控制台中使用JMX bean报告日志文件.
到目前为止,我无法使用JVisualVM之类的JMX工具连接到活动JVM,因为尽管在正确配置时创建了侦听套接字,但是连接被拒绝,显然是在协议级别(TCP/IP堆栈显示已接受的连接,但是JVM反弹它).
我很困惑,不知道下一步该往哪里去.
编辑:只是为了澄清; 这些结果都是使用未经检测的JVM,因为我无法获得对此JVM的JMX访问权限(我们正在与IBM合作).
编辑2011-11-16 19:27:我能够在1823个GC循环中提取GC活动报告,其中包括Soft/Weak/PhantomReference计数的特定计数; 这些数字并没有出现失控增长的迹象.然而,小物体终身空间有显着增长(大物体终身空间是空的).它从9M增长到36M.
在5250会话中的AS400交互式SQL中,
select * from myfile
Run Code Online (Sandbox Code Playgroud)
仅当myfile具有多个成员时才从一个成员返回行.
如何从特定成员获取行?
重要的是:最后我想用jt400对JDBC做这个,所以我真的想要一个能在那里工作的解决方案.
谢谢.
我需要编写一个'简单'的工具来从ASCII转换为EBCDIC?
Ascii来自Java,Web和AS400.我有一个谷歌周围,似乎找不到一个简单的解决方案(也许因为没有一个:().我希望有一个开源工具或支付已经编写的实用工具.
也许这样吗?
Converter.convertToAscii(String textFromAS400)
Converter.convertToEBCDIC(String textFromJava)
Run Code Online (Sandbox Code Playgroud)
谢谢,
斯科特
我知道我们很少见,我们这些穷人正在使用iSeries for DB2/AS400,但我希望有人可以回答这个简单的问题.有没有办法在不使用两行SQL的情况下从insert语句返回标识值?我被迫在C#中使用内联SQL来执行插入,然后我需要使用为插入生成的标识.简而言之,我需要iSeries DB2等同于Oracle的"RETURNING".也就是说,
INSERT INTO AwesomeTable (column1, column2, etc.)
VALUES (value1, value2, etc.)
RETURNING something;
Run Code Online (Sandbox Code Playgroud)
任何人?提前致谢.
编辑:除非有人知道我可以在一个IBM.Data.DB2.iSeries.iDB2Command(不是存储过程)中执行两行SQL,我想在一行SQL中执行此操作
我想知道您对在项目中使用数据感知组件的看法.通过使用Delphi和数据感知组件(来自Delphi的标准套件或第三方),开发应用程序(win32和web)的"优势"和"弱点"是什么?
使用FireBird我已经使用了IBObjects,它是一个成熟的组件套件并且运行良好.
但是还有很多其他RDBMS(MySQL,MSSQL,DB2,Oracle,SQLite,Nexus,Paradox,Interbase,FireBird等).如果您已经开发了大型项目,您已经使用了大量数据感知组件,请回答数据库类型和数据感知组件套件名称.
我也对DB2(AS400)感兴趣.您成功使用了哪些组件,或哪些组件真的很难用?