首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有某种方法可以从z/OS大型机访问Sql server并在IBM3270终端仿真中产生结果?

是否有某种方法可以从z/OS大型机访问Sql server并在IBM3270终端仿真中产生结果?
EN

Stack Overflow用户
提问于 2010-02-08 15:56:26
回答 8查看 7.2K关注 0票数 4

有没有办法(可能很便宜)从z/OS大型机(COBOL程序)访问Microsoft Sql Server并在3270终端仿真中产生结果?

我知道3270是一个相当老的系统,但在银行CED中,它仍然非常流行。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-02-15 15:21:04

这取决于你实际想要做什么。我对你的问题的理解是,你想让一个基于大型机的进程访问SQL Server数据库,然后对结果做一些操作,可能涉及到一个3270终端。

如果你可以使用Unix系统服务,你可以编译一个像FreeTDS这样的TDS库,然后使用C程序对结果做你想做的事情。如果希望变得更复杂,可以通过使用IBM、SAS或Dignus C/C++编译代码,从原生z/OS环境运行连接。我可以推荐Dignus,我已经用它构建了在z/OS上与其他语言交互的代码。Dignus头文件和运行时库(从内存中)具有一些FreeBSD血统,这有助于简化移植。

使用这种方法,您可以获得一个加载模块,您可以从系统的其他部分调用它来完成工作,您可以将代码链接到系统的其他部分,或者您可以只提交一个作业并获得输出。

如果你想使用Java,你可以使用像jTDS这样的东西,然后编写Java代码来做你需要的事情。我还没有在z/OS上使用过Java,所以我不能在这里提供具体的建议,但是我已经在其他平台上使用过jTDS,并且我对结果很满意。

更新:

您可以将C函数作为入口点导出到加载模块,然后从Cobol调用它。C/C++实现需要处理Cobol数据结构;它们定义良好且可预测,因此这不是问题。根据您需要的灵活性,您可以将查询编译成C代码,只需要一个函数来执行预定义的查询并具有检索结果的接口,或者您可以使用更复杂的方法,其中查询是由Cobol程序提供的。

我已经使用这种方法向Adabas/Natural开发人员提供了API函数,并且运行良好。Dignus编译器为调用者提供了一个运行时库句柄的机制,这样您就可以从调用程序中管理C运行时环境的生命周期。

对于C/C++开发人员来说,这应该是相当简单的。如果您的开发人员都是Cobol开发人员,事情可能会更加棘手。

网关方法是可能的,我相信周围有网关产品,但我不能推荐一个。我见过一些我不推荐的烂书,但这并不意味着在某个地方就没有好书。

为了完整起见,我将提到在Cobol中实现TDS协议的可能性。不过,这听起来像是一种残酷而又平常的惩罚。

票数 2
EN

Stack Overflow用户

发布于 2010-02-11 11:31:04

如果您有3270终端仿真,您使用的是什么终端?PC的?

一个有趣的技巧是使用Cisco路由器动态执行3270到普通TCP的转换,然后为SQL Server过程编写一个简单的TCP代理

票数 2
EN

Stack Overflow用户

发布于 2010-02-08 16:03:32

事实并非如此- 3270个仿真器连接到IBM大型机。为了从大型机上的SQL server数据库中获取数据,您必须编写一个在大型机上运行的程序,该程序从SQL server DB读取数据。这需要在大型机上运行驱动程序软件。你也许能够找到第三方制造这种类型的东西,但它可能相当昂贵。

如果您需要将来自大型机系统的数据与外部数据源组合在一起,那么将数据从大型机中取出并在其他地方进行集成可能会更容易一些--可能是某种数据集市。

另一种方法是从SQL Server数据库中提取所需的数据,然后将其作为平面文件上载到大型机进行处理。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2220191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档