Tag: ibm midrange

使用LINQ加速查询

我将大约350行(带有一些数据收集)从MS SQL Server传输到iSeries进行处理。 我觉得这个过程太慢了,差不多一分钟左右。 我在做LINQ2SQL中的所有MS SQL。 以下是我目前正在做的基础知识: 收集所有车辆主数据以一次一个地处理。 SUM()车辆的燃料使用量 SUM()车辆用油量 SUM()车辆使用的零件 SUM()按车辆加工 SUM()车外维修 SUM()车辆事故成本 我意识到这是很多查询,但大多数都是来自MS SQL Server中的不同表。 所有这些都需要至少一次加入。 我正在考虑将一个查询和外部维修和事故成本中的油和零件加入到一个查询中,因为这两个查询都存储在同一个表中,看看是否能提高性能。 你有什么其他的建议? 请注意,这是供应商提供的产品,我宁愿不创建任何尚未存在于数据库中的存储过程或视图(基本上没有)。 更新:我有另一篇文章,研究提高速度的替代方案。

检查系统DSN并创建系统DSN(如果不存在)(iSeries Access ODBC驱动程序)

有人可以帮我这个吗? 我需要通过系统DSN检查我与AS400服务器的ODBC连接,并创建一个系统DSN(如果某个特定的不存在)。 我试过谷歌搜索,但一直没能找到对我好的东西。 顺便说一下,我对编程很陌生。 任何帮助都感激不尽。 谢谢

使用C#编写IBM iSeries API QUSLSPL

有人可以用完整的c#代码帮助我调用SPLF0200格式的QUSLSPL。 我能够调用该程序,但不知道如何捕获/读取输出。 我是这个领域的新手。 感谢您的帮助。 这是我的代码。 cwbx.ProgramParameters parameters = new cwbx.ProgramParameters(); //user space name parameters.Append(“usrspcnam”, cwbrcParameterTypeEnum.cwbrcInout, 20); StringConverter stringConverterUsrSpaceNm = new cwbx.StringConverter(); stringConverterUsrSpaceNm.Length = 20; parameters[“usrspcnam”].Value = stringConverterUsrSpaceNm.ToBytes(“HRAHMAN QGPL “); //Format parameters.Append(“frmname”, cwbrcParameterTypeEnum.cwbrcInout, 8); StringConverter stringConverterFrmname = new cwbx.StringConverter(); stringConverterFrmname.Length = 8; parameters[“frmname”].Value = stringConverterFrmname.ToBytes(“SPLF0200”); //User Name parameters.Append(“usrnam”, cwbrcParameterTypeEnum.cwbrcInout, 10); StringConverter stringConverterUsrnam = new cwbx.StringConverter(); stringConverterUsrnam.Length […]

FtpWebRequest连接到AS / 400

我需要从旧的AS / 400服务器通过ftp下载一些文件。 我的代码看起来或多或少像: FtpWebRequest _request = (FtpWebRequest)WebRequest.Create(“ftp://ftpaddress/FOO.CSV”); _request.Credentials = new NetworkCredential(_ftpUsername, _ftpPassword); _request.Method = WebRequestMethods.Ftp.DownloadFile; FtpWebResponse response = (FtpWebResponse)_request.GetResponse(); 但是,消息抛出exception: 501 Character (/) not allowed in object name. 我猜测AS400使用的路径分隔符不同于/但我无法弄清楚如何用某种方式表达uri(1)FtpWebRequest接受和(2)AS400理解。 其他人碰到了这个?

Odbc连接字符串格式,而不是查找文件

这是一个“双重”问题,可能只有一个答案。 我正在使用带有AS / 400的Odbc连接,我的连接字符串如下: driver={iSeries Access ODBC Driver}; system={0}; uid={1}; pwd={2}; DefaultLibraries=*USRLIBL; 我能够很好地连接到系统。 * USRLIBL包含来自用户的所有必需库(属于“仅API”类型,可以访问所有用户库)。 但是,当我尝试访问某些ERP库时,它表示无法找到它们,而其他的则可以。 所以作为一个非常基本的演练: 1. Open Connection – Query File 1 from Library A: OK! – Close Connection 2. Open Connection – Query File 2 from Library A: OK! – Close Connection 3. Open Connection – Query File 1 from Library B: […]

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

我有一系列ASCII平面文件从大型机进来,由C#应用程序处理。 引入了带有Packed Decimal(COMP-3)字段的新Feed,需要将其转换为数值。 使用ASCII传输模式通过FTP传输文件。 我担心二进制字段可能包含将被解释为非常低的ASCII代码或控制字符而不是值 – 或者更糟糕的是,可能在FTP进程中丢失。 更重要的是,字段被读作字符串。 我可以灵活地解决这个问题(即某种流),但业务会给我带来阻力。 该要求为“从HEX转换为ASCII”,但显然没有产生正确的值。 任何帮助,将不胜感激; 只要您能够解释转换过程的逻辑,它就不必是特定于语言的。