我目前正在开发一个使用 C# 和 SQL Studio 2010 的项目,该项目需要与在 AS400 上运行的旧程序进行通信。我们可以访问名为 ASNA 的第 3 方套件,该套件允许 dotNet 编译 RPG 代码,并可以透明地访问 ISeries 和 MS SQL Stuidio。
我们有一个批处理作业,需要将其结果(数量可能超过 300,000 个项目)返回到 AS400。我们通常使用 WCF 服务,但我们担心这可能会带来太多数据。
以下是我们考虑过的一些选项:
- 以 block 的形式迭代数据的 WCF 服务
- 生成包含必要数据更改的文本文件,并将其通过 FTP 传输到文件夹以供 AS400 读取
- 授予 AS400 对包含相关数据的表的只读访问权限
我们应该允许对表进行读访问还是保持系统完全分离?
最佳答案
是否有任何原因不能在批处理作业中使用 SQL 将数据直接写入 AS/400?
如果您想“保持系统的完全分离”,那么您当然可以创建一个文本文件并将其通过 FTP 传输到 AS/400 上的 IFS - 但您必须在 AS/400 上编写软件来解析该文本文件并将数据放入适当的物理文件(表)中。
在不了解您组织的具体情况的情况下,我无法回答您的问题“我们应该允许对表进行读取访问还是保持系统完全分离?”。根据我工作过的地方,我会按顺序选择以下选项:
1) 使用 SQL 从 C# 批处理作业中将数据直接写入 AS/400。
2) 有一个在 AS/400 上运行并从 Microsoft SQL Server 读取数据的预定作业。
3) 创建一个文本文件(可能是 CSV 文件)并将其通过 FTP 传输到 AS/400 上的 IFS,然后我将在其中运行计划作业来解析数据。
关于.net - AS400 桥接的首选方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12808252/