问题标签 [openvms]

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.

0 投票
1 回答
129 浏览

filesystems - OpenVMS ODS-5 空闲块

我们的 OpenVMS 8.3 ODS-5 机器,作为影子集成员挂载的磁盘有时会突然丢失空闲块而没有明显原因。将 FREEBLOCKS 和磁盘上所有文件的总大小相加得出的总和远低于磁盘上的实际可用块总数。任何人都可以提出可能导致这种情况的原因吗?

我发现清除文件通常会消除问题,但没有解释,也找不到导致问题的文件。

机器不在集群中,并ANALYZE/RMS告诉我,以及我咨询过的其他人,什么都没有。考虑了所有文件版本,但可能dir/size需要进一步限定。我不知道有任何临时/临时文件,但理想情况下,如果它们存在,我想找到它们。TOTALBLOCK-FREEBLOCKS 与输出之间的差额dir/siz/grand [000000...]约为 6000 万个块(大约是驱动器的一半)。

我对DFU不熟悉。

0 投票
5 回答
5252 浏览

openvms - 如何在 OpenVMS 中存储命令输出

我在 OpenVMS 中编写 DCL 时遇到问题,因为我需要 DCL 调用命令并捕获其输出(但不将输出输出到屏幕) 稍后在 DCL 中,我需要打印我存储的输出。

这是一个例子:

如果直接在 OpenVMS 中执行,上面的命令会输出:

所以我创建了一个 DCL 试图包装这个输出以显示更简化的输出。到目前为止,这是我的代码:

在 ICE SET 'P1' 上面的行中,正在设置冰环境,但我不希望此输出回显到 VMS。但我想要的是将 $ICE SHOW 的输出写入一个变量,然后稍后在 DCL 中回显(为了简化起见,我省略了大部分)

所以应该输出的应该是:

代替:

我浏览了手册,我有点困惑,所以我想我在这里尝试过。我很感激任何指针。谢谢。

编辑

这是我在评论后提出的问题,我遇到的问题是当我使用 SecureCRT 等模拟器连接到 VMS 时,会回显正确的输出。但是当我通过 .NET 中的 SSH2 库运行 DCL 时,它不会输出任何内容。我想那是因为它暂时关闭了 SYS$OUTPUT 流还是什么?

编辑 2

所以我想我真的需要澄清我想在这里做什么。阻止输出并不重要,我只是试图将它捕获到一个符号中。

因此,例如在 C# 中,您可以拥有一个返回字符串的方法。所以你会有 string myResult = vms.ICETo("FASTER"); 它将返回并将其存储在变量中。

我想我在 VMS 中寻找类似的东西,这样一旦我适应了环境,我就可以调用:

但我当然会得到那个陈述的错误

0 投票
1 回答
206 浏览

excel - 使用 E-Term32 将数据自动输入到 VMS

我被要求找出一种方法来做到这一点,所以请告诉我这是可能的还是不应该做的。


目标是自动将数据输入 VMS(我们使用 E-Term32 连接到 VMS)。为此目的讨论的内容:Excel 电子表格、动态数据交换、E-Term32(仿真命令语言 - ECL)中可用的宏工具、OLE 自动化等。

设想的过程如下:

  1. 接收 Excel 文件(或其他数据格式,如文本文件)
  2. 连接到 VMS
  3. 运行宏
  4. 宏导航菜单系统并使用 Excel 文件中的数据输入数据

我知道有“更好”或更简单的方法可以做到这一点,例如构建应用程序来输入数据,但我的主管担心规避“蓝屏”菜单/应用程序中内置的业务逻辑。无论如何,他们也坚持为这样的东西构建新的应用程序。

0 投票
1 回答
739 浏览

c# - 如何使用 C# 中从 OpenVMS 返回的未知字符拆分 ANSI 字符串

我有一个用 C# 编写的连接到 OpenVMS、运行命令然后返回输出的方法。

它运行的其中一个 DCL 过程以字符串的形式返回一个“表单”,其中包含各种 ANSI 编码。

我想做的是将返回的字符串拆分为基于 ANSI 转义字符作为分隔符的数组,以便我可以进一步对其进行排序并稍后构建显示。

我遇到的问题是转义字符看起来不像被识别。当我在 Visual Studio 中检查字符串时,我可以看到标准的 ANSI 格式,带有一个指向左侧的箭头,看起来像这样:每个条目之间的 ←。这是转义字符。

如果我将相同的字符串粘贴到记事本++ 中,它会显示为 ESC。

我尝试使用 \033 作为分隔符对字符串进行拆分,但这没有用,我还尝试将 ESC 字符粘贴到变量中,但它只是粘贴了一个空格。

所以我想知道如何找出这个转义字符使用的字符代码,以便我可以在拆分中使用它。

我发布了一个屏幕截图,但我显然没有代表这样做。

编辑:这是返回的内容:

它没有在 StackOverflow 上显示为字符,但如果您想象该字符位于以 [ 开头的每个段的前面

编辑 2:好的,我们已经确定 int char 代码是 27,所以现在的问题是如何在拆分中使用它?

0 投票
1 回答
238 浏览

c - 无法使用 ProC 链接 OpenVMS 中的 SSL 库

我试图通过在 OpenVMS 中使用带有 SSL 的 TCP/IP 套接字来开发简单的客户端/服务器编程。我们正在代码中访问 Proc API。因此,我使用 lnproc 选项将我的程序与 SSL 库链接起来。当我在链接时使用以下选项时,它会引发以下错误。它的 64 位编译器,所以我使用了下面的选项 1。使用下面的命令和选项编译,

选项2:

我怀疑LIBSSL32.OLB,LIBCRYPTO32.OLB在链接时是否需要使用库lnproc。因此,我已要求我的系统管理员为此安装库,但他们说为此使用可共享对象。与可共享对象链接

它抛出以下错误

请注意,在这些命令中,LINKER_OPT.OPT 是一个简单的文本文件,其中包含以下几行:

我在这里想念什么。

0 投票
1 回答
447 浏览

plink - 使用 Plink 执行 OVMS 远程命令

我正在尝试使用 plink 在 OVMS 服务器上执行远程命令。当我尝试执行一个简单的命令时,它工作正常:

但是当我开始使用一些复杂的命令时,它会抛出错误:

请建议。

0 投票
2 回答
1282 浏览

database-connection - 远程数据和查询到 OpenVMS RMS 文件

在 OpenVMS 中查询 RMS 文件有哪些选项?查询/访问的上下文将用于 BI 和报告。目前,正在使用一个非常旧的 FOCUS(Infomation Builders,v. 6.9.8),并且只能在本机 OpenVMS 命令行 shell 中使用。

我在 VMS 环境中工作的挑战是输出旨在用于 Excel、R 和 Business Objects/Crystal Reports 和 Splunk/Hunk 中的平台外消费和分析。在平台上,我可以在我自己的用户空间中编译和/或运行的任何东西都受到限制,并且 CONNX 和类似工具看起来都需要 VMS 环境中的服务器进程。

编辑:我已经接受了一个全面的答案,考虑到组织限制,这可能不可行。我可能的路径是在 FOCUS 中编写额外的数据提取作业,并承担随之而来的延迟和维护开销。

0 投票
1 回答
929 浏览

unix - ftp failure from VMS to Unix system

When my customers are trying to transfer the files through ftp system, they are getting this error. It seems like the ftp connection is established however because of some unknown reasons the data is not transferring. This is a connection from VMS system to a Unix server.

#xA;
0 投票
1 回答
983 浏览

error-handling - 在第一个错误后处理 DCL ON ERROR 操作?

OpenVMS DCL命令显示HELP ON EXAMPLE

例子

根据帮助,如果既不存在[-]x.for也不[-]y.for存在,则不会执行最后两行:

有没有办法像第一行一样设置处理,而在脚本的每一行之间ON ERROR放置一个语句?ON ERROR

0 投票
2 回答
262 浏览

c - OpenVMS (VAX) Fortran 函数将字符 *(*) 返回到 C

OpenVMS (VAX ) FORTRAN 子例程可以传递character*(*)

来自 C 函数:

返回a的 OpenVMS (VAX) FORTRAN 函数如何character*(*)

在 C 代码中处理:

  • OpenVMS V6.2
  • 数字 Fortran 77 V6.5-188
  • DEC C V6.0-001