标签: ibm-midrange

C#:将COMP-3压缩十进制转换为人类可读值

我有一系列ASCII平面文件从大型机进来,由C#应用程序处理.引入了一个带有Packed Decimal(COMP-3)字段的新Feed,需要将其转换为数值.

使用ASCII传输模式通过FTP传输文件.我担心二进制字段可能包含将被解释为非常低的ASCII代码或控制字符而不是值 - 或者更糟糕的是,可能在FTP进程中丢失.

更重要的是,字段被读作字符串.我可以灵活地解决这个问题(即某种流),但业务会给我带来阻力.

该要求为"从HEX转换为ASCII",但显然没有产生正确的值.任何帮助,将不胜感激; 只要您能够解释转换过程的逻辑,它就不必是特定于语言的.

.net c# flat-file comp-3 ibm-midrange

6
推荐指数
2
解决办法
2万
查看次数

PHP/Linux到AS/400-db2

我试图在Linux Centos服务器上访问php作为/ 400(iSeries)db2数据库.

我尽可能地使用这个IBM指南,(尽管我们无法使GUI配置实用程序正常工作.)

http://www-03.ibm.com/systems/i/soft...ide/index.html

我下载并成功安装了iSeriesAccess驱动程序和先决条件.

rpm -i iSeriesAccess-5.4.0-1.6.i386.rpm

我已配置这些文件来定义驱动程序/ DNS:

/etc/odbc.ini和/etc/odbcinst.ini

[iSeries Access ODBC Driver]
Description          = iSeries Access for Linux ODBC Driver
Driver               = /opt/ibm/iSeriesAccess/lib/libcwbodbc.so
Setup                = /opt/ibm/iSeriesAccess/lib/libcwbodbcs.so
Driver64             = /opt/ibm/iSeriesAccess/lib64/libcwbodbc.so
Setup64              = /opt/ibm/iSeriesAccess/lib64/libcwbodbcs.so
Threading            = 2
DontDLClose          = 1
UsageCount           = 1 

文件/etc/odbc.ini为空,所以我添加了这个配置:

[AS400]
Description     = iSeries Access ODBC Driver
Driver          = iSeries Access ODBC Driver
System          = 172.999.999.999             (from netstat option 1)
UserID          = my_user
Password        = my_pass
Naming          = 0
DefaultLibraries  = QGPL
Database          = …

linux db2 odbc ibm-midrange

6
推荐指数
2
解决办法
1万
查看次数

AS/400 DB2逻辑文件与表索引

我来自MSSQL背景,当我问我公司的人是否在某些列上创建了索引时,他们会说是,但请指出这些东西称为逻辑文件.

在iSeries Navigator中,这些逻辑文件显示在"视图"类别下.当我单击"索引"类别时,没有任何内容,这让我相信实际上没有在任何列上创建索引,至少我理解它们.逻辑文件似乎是按特定列排序的视图.

所以我的问题是,逻辑文件和索引(MSSQL意义上的索引)是一回事吗?

sql db2 indexing ibm-midrange

6
推荐指数
2
解决办法
2万
查看次数

使用子字符串与使用通配符的SQL比较的性能

我正在处理两个表之间的连接条件,其中一个要匹配的列是值的连接.我需要将tableA中的columnA加入tableB中columnB的前2个字符.

我已经开发了两个不同的语句来处理这个问题,我试图分析每种方法的性能.

方法1:

ON tB.columnB   like  tA.columnA || '%'
Run Code Online (Sandbox Code Playgroud)

方法2:

ON substr(tB.columnB,1,2) = tA.columnA
Run Code Online (Sandbox Code Playgroud)

与方法2相比,查询执行计划使用方法1的步骤少得多,但是,方法2的执行速度要快得多.此外,执行计划显示方法2的建议索引,可以提高其性能.

我在IBM iSeries上运行它,虽然对一般意义上的答案感兴趣,以了解有关sql查询优化的更多信息.

方法2执行得更快是否有意义?

这个问题类似,但看起来没有人对这些方法的性能差异提供任何具体的答案: LEFT()与LIKE运算符之间的T-SQL速度比较.

PS:需要这种类型的连接的表设计不是我此时可以更改的内容.我意识到将具有不同类型数据的字段分开是可取的.

sql db2 optimization ibm-midrange

6
推荐指数
1
解决办法
2万
查看次数

SQL7008错误 - 解决方法?

我正在为DB2 Universal数据库使用JTOpen JDBC驱动程序.除了简单的语句之外,我对SQL的经验很少.

这个问题中,我看到在尝试"在事务期间插入/更新非日记表中的行"时(抛弃),我得到了错误(SQL7008).

根据项目负责人的说法,我们的数据库没有记录,也不会很快(不要问我为什么,我不是DBA).但是,我正在开发一个能够commit一次性完成任务的项目(而不是每次调用执行时自动提交)几乎是必要的(并非完全需要,但它可以解决很多问题) .

有没有办法解决erorr SQL7008而不启用Journalling?

java sql db2 jdbc ibm-midrange

6
推荐指数
1
解决办法
1万
查看次数

如何"重置"UDF DETERMINISTIC响应?

在DB2 V5R4中,当您修改DETERMINISTIC UDF的功能时它会返回缓存的响应一段时间...

有没有办法重置缓存的响应?

提前致谢.

db2-400 ibm-midrange

6
推荐指数
1
解决办法
338
查看次数

从另一个表中的另一个字段更新表中的1个字段(OS400,而不是1到1的关系)

我试图从另一个表中的另一个字段更新表中的字段.

正在更新的表将具有多个记录,这些记录需要从另一个表中的1个匹配进行更新.

例如,我有一百万行销售历史文件.这些百万条记录有大约40,000个不同的sku代码,每行有一个日期和时间戳.每个sku都会有多个记录.

我添加了一个名为MATCOST的新字段(材料成本).

我有第二个包含SKU和MATCOST的表.

所以我想用表2中相应的SKU的MATCOST标记表1中的每一行.当它不是一对一的关系时,我似乎无法实现这一点.

这是我尝试过的:

update 
  aulsprx3/cogtest2 
set 
  matcost = (select Matcost from queryfiles/coskitscog where 
  aulsprx3/cogtest2.item99 = queryfiles/coskitscog.ITEM ) 
where 
  aulsprx3/cogtest2.item99=queryfiles/coskitscog.ITEM
Run Code Online (Sandbox Code Playgroud)

但这会导致SQL错误:列限定符或表COSKITSCOG未定义并突出显示最后一个对queryfiles/coskitscog.Item的引用中的q

有任何想法吗 ?

最亲切的问候

亚当

更新:这是我的表原则上的样子.1表包含销售数据,另一个包含销售商品的MATCOSTS.我需要使用COSKITCOG表中的数据更新Sales Data表(COGTEST2).我不能使用coalesce语句,因为它不是1对1关系,我使用的大多数选择函数都会导致多次选择的错误.唯一匹配的字段是Item = Item99

我找不到匹配多个的方法.在示例中,我们必须使用3个SQL语句,并只指定项目代码.但在现场我有大约40,000个物品代码和超过一百万个销售数据记录要更新.如果SQL不这样做,我想我必须尝试在RPG程序中编写它,但这暂时超出了我的范围.

感谢您的任何帮助,您可以提供.

表格示例

sql db2 sql-update ibm-midrange

6
推荐指数
2
解决办法
4万
查看次数

JTOpen KeyedDataQueue read()超时

当我使用JTOpen KeyedDataQueue类提供的read()方法时,我发现了一个奇怪的行为.

当达到超时时,我设置了90秒的超时和99%的读取执行,我的调用方法执行恢复.

至于其他1%,超时未被考虑/达到,我的呼叫方法保持挂起...

搜索了一下后我发现这篇文章:

http://archive.midrange.com/java400-l/201112/msg00056.html

基本上它证实了我的怀疑:

"我还发现DataQueue.read()超时功能是服务器端的,所以如果TCP/IP连接被静默拆除(我认为这是导致此问题的根本原因),它仍然会挂起."

我正在使用JTOpen的7.2版,我意识到版本7.9已经存在.我没有更新到7.9,因为我有很多使用7.2的关键应用程序是稳定的,这真的是第一个让我考虑更新到7.9的真实场景.

为了帮助我做出这个决定,我非常希望得到您的反馈,尤其是那些遇到这种情况并最终通过升级JTOpen解决它的人.

具体来说,是否存在此问题的解决方法,并且升级JTOpen对此有何帮助?将JTOpen升级到7.9会破坏7.2中的任何工作吗?

java http jtopen ibm-midrange

6
推荐指数
1
解决办法
626
查看次数

如何在c ++中获取psds信息

使用ILE编译器,在RPG中,您可以使用PSDS获取有关当前用户,作业名称等的信息.

如何使用ILE在C++程序中获得相同的信息?

rpgle ibm-midrange ile-c++

6
推荐指数
2
解决办法
265
查看次数

RPG调用Java,java.lang.NoClassDefFoundError

我的目标是从RPG函数启动Java调用Web服务.(我知道,它很长,但它是我们需要的)

/JavaLib在AS400上创建了一个文件夹,并复制了我们需要的所有必需的外部JAR.

使用静态方法创建Java类WebServiceCaller.Call()以调用Web Service.当我运行我的RPG程序时,一切都很好,RPG调用此方法.

我得到一个Java异常:

信息 ....:调用Java方法(CGD F)时收到Java异常.
原因.....:程序WAL60326/WEBSERCALR中的RPG过程WEBSERCALR在
使用签名"(LwebService.Input;)LwebService.Output;"调用方法"Call"时收到Java异常"java.lang.NoClassDefFoundError:javax.xml.rpc.ServiceException" 在类
"webService.WebServiceCaller"中.

CLASSPATH变量:

/ JavaLib:/家庭/ WAL60326/WebServiceCaller

所以我相信我的RPG和Java类很好,我相信我已经设置了我的CLASSPATH变量.不确定还有什么要检查.


更新

所以我需要的jar文件是jaxrpc.jar我检查过的; 它确实存在于我的/JavaLib.能够在AS400上检查我的Java版本java version "1.5.0".并按照这些说明检查我的操作系统是否为V6R1.

可能是我的Java版本已经过时了,这个Jar文件要加载/工作吗?这甚至是可能吗?


编辑

这是我的源代码:

Java:WebServiceCaller.Java

package webService;

import java.rmi.RemoteException;

import stocklistGetBids.GetBidsProxy;

public class WebServiceCaller {
    public static Output Call(Input in) { // Input Class, is just a way to hold all the input together
        Output out = null; // Output Class, holds all the output together

        try …
Run Code Online (Sandbox Code Playgroud)

java jvm jar rpg ibm-midrange

5
推荐指数
1
解决办法
4945
查看次数

标签 统计

ibm-midrange ×10

db2 ×5

sql ×4

java ×3

.net ×1

c# ×1

comp-3 ×1

db2-400 ×1

flat-file ×1

http ×1

ile-c++ ×1

indexing ×1

jar ×1

jdbc ×1

jtopen ×1

jvm ×1

linux ×1

odbc ×1

optimization ×1

rpg ×1

rpgle ×1

sql-update ×1