标签: ibm-midrange

来自iSeries的附件邮件

有没有办法从iSeries终端发送电子邮件,从IFS添加附件?我知道如何使用SNDDST实用程序发送普通电子邮件.

ibm-midrange

4
推荐指数
1
解决办法
4957
查看次数

使用LINQ加速查询

我将大约350行(带有一些数据收集)从MS SQL Server传输到iSeries进行处理.我觉得这个过程太慢了,差不多一分钟左右.我在做LINQ2SQL中的所有MS SQL.以下是我目前正在做的基础知识:

  1. 收集所有车辆主数据以一次一个地处理.
  2. SUM()车辆的燃料使用量
  3. SUM()车辆用油量
  4. SUM()车辆使用的零件
  5. SUM()按车辆分娩
  6. SUM()车外维修
  7. SUM()车辆事故成本

我意识到这是很多查询,但大多数都是来自MS SQL Server中的不同表.所有这些都需要至少一次加入.我正在考虑将一个查询和外部维修和事故成本中的油和零件加入到一个查询中,因为这两个查询都存储在同一个表中,看看是否能提高性能.

你有什么其他的建议?

请注意,这是供应商提供的产品,我宁愿不创建任何尚未存在于数据库中的存储过程或视图(基本上没有).

更新:我有另一篇文章,研究提高速度的替代方案.

c# performance linq-to-sql ibm-midrange

4
推荐指数
1
解决办法
641
查看次数

AS/400'SELECT 1'等效

我正在尝试帮助朋友解决与AS/400的连接问题.他想对AS/400运行一个总是返回记录的查询(类似于针对MSSQL 的SELECT 1).

他试图运行SELECT 1但没有运气......我假设AS/400需要一个FROM TableName ...

有人可以提供帮助吗?是否存在一个始终存在的系统表/文件,他可以运行SELECT TOP 1(或它的等价物)?我从未与AS/400进行过互动,所以我有点偏离了我的元素......我希望能给我一个快速回答......

提前致谢!

db2-400 ibm-midrange

4
推荐指数
1
解决办法
5004
查看次数

连接到AS400(ISeries)时出错

我正在尝试使用.net类连接到AS400服务器.
我添加了对IBM.Data.DB.iSeries的引用,我使用以下代码:
var conn = new iDB2Connection("DataSource = 111.111.111.111; UserID = xxx; Password = xxx; DataCompression = True;");
conn.Open();

但我得到以下异常
运行64位:"提供程序无法在64位模式下运行."
运行32位:发生意外的异常.键入:System.DllNotFoundException,消息:无法加载DLL'cwbdc.dll':操作系统无法运行.(来自HRESULT的异常:0x800700B6).

我已卸载Client Access并再次安装它.cwbdc.dll确实存在于system32和syswow64中.如果我使用odbc,连接到AS400没问题.

我正在运行Windows 7的64位版本.
任何想法?

/麦

.net data-access ibm-midrange

4
推荐指数
1
解决办法
4403
查看次数

我们应该删除存储过程并从java程序运行数据库调用

我正在努力保持在我们公司使用存储过程.有一些人说他们很糟糕,我们不应该使用它们.我们在i系列上使用DB2.

请帮助我的论点,以保持存储过程在我的公司中存活.

java database db2 db2-400 ibm-midrange

4
推荐指数
1
解决办法
1667
查看次数

如何使用互斥参数创建AS/400命令?

我需要创建一个AS/400命令.根据要求,它有两个参数,比如A和B,它们不能同时填充.当按下F4提示时,两者都会显示,但一次只能填充一个.如果两者都填满,则会显示一条错误消息,指出此消息无效.有人能告诉我如何创建这样的命令吗?我需要在CMD源中指定什么来实现它?

command ibm-midrange

4
推荐指数
1
解决办法
2243
查看次数

如何在RPGLE中获取字符类型变量的长度?

有没有简单的方法可以在RPGLE中直接返回字符长度和类型变量?我在这里讨论的长度不是D规格中规定的长度.我在谈论字符串中有意义的字符的实际数量.假设一个字符类型变量被定义为50个字符长,并且它被赋值为'Hello world!',那么我想要的长度是12,即从'H'到'!'.前导和尾随空白被忽略.有没有简单的方法来做到这一点?

variable-length rpgle ibm-midrange

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

过期的密码更改失败

我正在使用JTOpen API来访问AS400系统.

我可以成功更改活动的AS400用户密码,如下所示:

AS400 system = new AS400("AS400SYSTEM", "AS400USER");
system.changePassword("OLDPASSWORD", "NEWPASSWORD");
Run Code Online (Sandbox Code Playgroud)

另一方面,当我尝试以相同的方式更改过期的用户密码时,我从第二行抛出以下异常:

com.ibm.as400.access.AS400SecurityException:密码不正确.

我需要先做什么?

java jtopen ibm-midrange

4
推荐指数
1
解决办法
1066
查看次数

GO TO如何控制COBOL中的流量工作?

PROCEDURE DIVISION
MAINPARA
    DISPLAY "HELLO MAIN".
    GO TO PARA1.
    DISPLAY " SECOND DISPLAY".
    STOP RUN.

PARA1.
    DISPLAY " I AM IN PARA1".

PARA2.
    DISPLAY "I AM IN PARA2"
....
PARA200
Run Code Online (Sandbox Code Playgroud)

我对流程了解不多.但是,我很困惑.当控制跳转到时GO TO PARA1,它将执行PARA1.

现在我的问题是:

  1. 它会执行PARA2并返回MAINPARA吗?
  2. 或者它会从PARA2程序结束时执行?

我不是一个COBOL程序员,我需要从一个迁移工具/程序,AMXW COBOL理解的代码.目标系统是IBM AS/400.

cobol ibm-midrange

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

JSON_TABLE 中的 SQLRPGLE 和 CCSID 问题

我的一个程序有问题,它与源文件 CCSID 相关。\n我需要生成一个 JSON 字段。\n在原始程序中,它是从公共表(具有不同列)插入到一个表,定义为 CLOB 以包含使用源表列生成的 JSON。

\n

这是该程序的一个示例,它显示了问题,并且存在相同的问题:

\n
**free\n\nctl-opt dftactgrp(*no) option(*srcstmt:*NODEBUGIO);\n\ndcl-s jsonv varchar(256) ccsid(1145);\ndcl-s text varchar(34) ccsid(1145);\n\nTEXT='TEST, AND TEXT';\nexec sql set :jsonv=json_object('test_text' value :text);\n\nreturn;    \xe2\x80\x8b\n
Run Code Online (Sandbox Code Playgroud)\n

编译为:

\n
CRTSQLRPGI OBJ(TESTJSON) SRCFILE(LET) SRCMBR(TESTJSON) OPTION(*EVENTF) REPLACE(*YES) DBGVIEW(*SOURCE) LANGID(ESP) CVTCCSID(*JOB)\n
Run Code Online (Sandbox Code Playgroud)\n

问题是,当我编译来自 CCSID 284 源文件的代码时,它工作正常。

\n

但是当我从 CCSID 65535 的不同源文件编译它时,程序失败。\xc2\xa0

\n

这些是错误:

\n
Derived operands not valid for operator JSON_OBJECT. Reason code 12. \nCharacter conversion between CCSID 65535 and CCSID 1208 not valid.   \n  12 -- The CCSIDs (Coded Character …
Run Code Online (Sandbox Code Playgroud)

sql json rpgle ibm-midrange

4
推荐指数
1
解决办法
1034
查看次数