问题标签 [zos]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何在 z/OS 上的 C++ 中使用 C 套接字 API
我在让 C 套接字 API 在 z/OS 上的 C++ 中正常工作时遇到问题。
虽然我包括sys/socket.h
,但我仍然收到编译时错误,告诉我AF_INET
未定义。
我是否遗漏了一些明显的东西,或者这是否与在 z/OS 上使我的问题变得更加复杂这一事实有关?
我发现有一个#ifdef
我正在击中。显然 z/OS 并不高兴,除非我定义了我正在使用的套接字的“类型”:
现在,我个人不知道这_OE_SOCKETS
实际上是为了什么,所以如果有任何 z/OS 套接字程序员在那里(你们三个),也许你可以给我一个关于这一切是如何工作的纲要?
测试应用
编译/链接输出:
检查 sys/sockets.h 确实包含我需要的定义,据我所知,它没有被任何#ifdef
语句阻塞。
然而,我注意到它包含以下内容:
基本上封装了整个文件?不确定是否重要。
db2 - BizTalk DB2 适配器连接错误
我的同事正试图通过 DB2/MVS 适配器将 BizTalk 2006 R2 连接到托管在 z/OS 大型机上的数据库。在测试连接设置时,他们收到以下错误
将设置放入常规连接字符串并使用 .NET 代码打开时,这很好。我是 BizTalk 和 DB2 的新手。有人可以建议出现此错误时要注意什么吗?
2008 年 8 月 24 日:
好吧,如果使用带有常规 DB2 连接字符串的普通 .NET 代码,则可以建立连接并提交查询。这个 DB2 适配器报告的是它甚至无法进行正确的连接握手,更不用说提交查询了。我不确定建立 DB2 连接所涉及的实际机制是什么。
2008 年 8 月 25 日:
根据这个 MSDN 论坛帖子,这似乎是一个登录问题。
我已经看到了,但这里不是这样。如果我们将用户名作为包集合,它仍然会遇到同样的问题。
2008 年 8 月 26 日:
由于缺乏有关从 Microsoft 产品连接到大型机 DB2 数据库的信息,我承担了检查原始网络数据包的任务,以了解 .NET DB2 提供程序的连接(有效)和 BizTalk 2006 DB2 适配器之间发生了什么(哪个炸弹)。我观察到 DB2 流量是使用 DRDA 协议完成的。并最终得出结论 BizTalk 适配器方法失败是因为服务器的回复 SECHKRM 数据包中记录的内容
为什么在 .NET 提供程序中成功时相同的凭据在此处失败,这超出了我的理解。现在,我可以观察到,在传输数据包的顺序方面,每种方法之间存在显着差异。
.NET DB2 提供程序
BizTalk DB2 适配器
目睹 .NET 提供程序在单个 TCP 段中发出各种 DRDA 协议数据包是很有趣的。另一方面,BizTalk 适配器在每个 TCP 段中只放置一个协议数据包。我不知道为什么会这样。但是,我目前认为这是一个红鲱鱼,导致身份验证失败的真正区别在于 DRDA 数据交换。我不知道 DRDA 协议,所以必须先研究它,然后才能更清楚地理解它。
2008 年 9 月 18 日:
现阶段问题还没有解决,DB2 DBA 团队的合作和微软的帮助遇到了很多障碍。
我想报告的是,我观察到所有成功连接案例与失败尝试之间的一个关键区别:
BizTalk DB2 适配器在底层使用Microsoft ODBC Driver for DB2。其他成功的软件测试使用IBM DB2 ODBC DRIVER或IBM DB2 ODBC DRIVER – IBMCL1。IBM驱动的参数配置与微软的驱动不同。但我们没有看到任何可能导致 Microsoft 驱动程序身份验证失败的明显关键差异。
migration - DB2 - 什么是 NF(新功能)模式?
我有一些关于 DB2 NF 模式的客户问题。谷歌对此知之甚少。
我已经能够推断出以下内容,但我并不完全相信它......
- NF 和 CM(兼容模式)是大型机上 DB2 v8 上的设置。
- CM 中 z/OS 上的 DB2 v8 旨在允许 DB2 v8 用作 DB2 v7 的替代品。
- NF 进行了许多破坏向后兼容性的更改。
- 特别是“数据字典”系统表完全重新设计。
我怀疑以下内容,但我更不确定...
- 重新设计的数据字典和系统表类似于 DB2 v8 在 Linux/Unix/Windows 上使用的那些。
- DB2 v8 NF 在很大程度上与 DB2 v9 兼容。
- DB2 v9 跨平台(Linux/Unix/Windows 和大型机)更加一致。
- 为与 DB2 v8 NF 一起工作而编写的代码通常可以在任何地方与 DB2 v8 on LUW 和 DB2 v9 一起正常工作。
谁能告诉我我是否正确?或者添加更多细节?
.net - IBM.Data.DB2
我可以使用 .NET 框架和 IBM.Data.DB2 提供程序开发 Windows 应用程序来访问在 OS/390 上运行的 DB2 数据库吗?
提前致谢。
mainframe - 具有Java/OOP/SQL背景的学习大型机和JCL
在我的整个职业生涯中,我一直在编写和管理 Java 和 ASP.Net 应用程序和服务器。现在我被引导参与大型机,即 z/OS 和 JCL,我发现很难把我的头包起来(他们仍然在谈论打孔卡!)。在完全被现代奢侈品宠坏之后,学习这一切的最佳方式是什么?
sql - 对 DB2 for z/OS 的存储过程调用中不支持字符串文字
在连接到在 z/OS 上运行的 DB2 数据库实例时,从 Rational Application Developer Data Perspective 调用简单的 SP 时,出现以下错误。从 SQuirreL 调用时也是如此。直接 SQL 查询运行没有问题。从我的 JAVA 代码调用时,该查询也可以正常工作。
在本地 DB2 实例上工作正常,有人知道这是否可能吗?
assembly - 自学 Z/OS 汇编程序
我曾在一家从事大量大型机工作的公司实习。我的大部分大型机经验都是使用 Java 和 Unix 系统服务。我对 ISPF 接口和 C 有一些经验,但对汇编程序没有经验。
我即将毕业,最后一个学期将进行独立学习。我想坚持使用大型机,并想知道哪些资源可以教我大型机汇编程序。
请注意,我没有为任何平台编写汇编程序的经验,但我确实了解二进制、十六进制,并且对寄存器有理论上的了解。
java - 应该使用什么代码页/字符集将来自 MVS 系统的数据解释为 Java 环境?
我遇到了一个有趣的问题(在与遗留系统交互时经常出现这种情况)。我正在开发一个应用程序(目前在 x86 Linux 或 Windows 系统上运行),它可以接收来自各种系统的请求,其中一个是 MVS 系统。
我正在尝试确定应该使用哪个代码页/字符集来解释来自 MVS 系统的请求数据。
过去,我使用 'cp500' (IBM-500) 来解释 z/OS 系统的字节日期,但是我担心 MVS 有点像遗留系统,而且因为 IBM 似乎改变了主意对于要使用的编码(必须有数十个 EBCDIC 编码),cp500 可能不是正确的编码。
我在 Java 字符集上找到的最佳资源是: http: //mindprod.com/jgloss/encoding。但是,从这个站点和 IBM 信息中心,我无法得到明确的答案。
编辑:从我对 Pax 的回复中添加如下:
在请求数据的来源中,我的问题有一个明显的漏洞。在这种情况下,数据的来源是通过 Websphere MQ 接口。Websphere MQ 确实具有转换为正确编码的功能,但仅用于使用 MQMessage.readString() 读取数据,该方法已被弃用。我更喜欢使用它,但是我使用的是专有接口框架,在该框架中我无法更改从 MQQueue 读取消息的方式,它直接从队列中读取字节,因此我是左句柄翻译。
最终答案:我想跟进这件事。事实证明,正确的字符集确实是 cp500 (IBM-500)。但是,我的印象是结果可能会有所不同。给有同样问题的其他人的一些提示:
利用 Charset.availableCharsets();。这将为您提供运行时支持的字符集的地图。我遍历这些集合并打印出我的字节数据翻译成该字符集。虽然它没有给我想要的答案(主要是因为我无法在数据进入时读取数据),但我想它可能对其他人有所帮助。
请参阅:http ://mindprod.com/jgloss/encoding以获取支持的字符集列表。
最后,虽然我没有确认这一点,但请确保您使用的是正确的 JRE。我认为 IBM 运行时支持比 OpenJDK 或 Sun 的运行时更多的 EBCDIC 字符集。
c - 在 Metal C 中使用 WTO 进行打印
我正在尝试使用 Metal C 中的 WTO 指令将“Hello World”打印到我的工作日志中。这是基于 z/OS V1R10.0 Metal C Programming Guide and Reference 的第 1.2.3.5 节中的示例当我使用 WTO 时出现的问题是我的缓冲区包含 0 或 ASCII 到 EBCDIC 转换。我在下面粘贴了我的工作日志的相关部分,然后是我的代码,然后是我无法编译的 IBM 示例中的代码。作业日志
我的代码
IBM 代码
c - Metal C中的memset问题
我正在尝试使用以下代码初始化 Metal C 环境,但在 memset 行上出现以下错误。ERROR CCN3275 IMIJWS0.METAL.SAMPLIB(MEM):6 遇到意外的文本')'。错误 CCN3045 IMIJWS0.METAL.SAMPLIB(MEM):6 未声明的标识符 ___MEMSET。ERROR CCN3277 IMIJWS0.METAL.SAMPLIB(MEM):6 语法错误:可能缺少 ')' 或 ','?CCN0793(I) 文件编译失败 //'IMIJWS0.METAL.SAMPLIB(MEM)'。未创建目标文件。下面是我的代码