我是一名Web开发人员,其任务是创建某种将数据从IBM AS400移动到SQL服务器的机制。遗憾的是,在这种情况下,链接服务器是不可能的,因为SQL Server只是标准版(此版本中不提供db2提供程序),AS400服务器位于单独的服务器上。我研究过在AS400表上添加某种触发器,它调用一个将数据插入SQL服务器的Web服务,但这似乎不是最好的方法。有没有人对AS400提交到AS400的数据从AS400到SQL Server的过程有任何建议?
答案 0 :(得分:1)
此解决方案假定您熟悉SQL Server Integration Services(SSIS):
与AS400的连接
数据流源:
答案 1 :(得分:1)
我将我的Web应用程序与IBM i同步。但我有自己的数据库设计,并在Windows端编写了一个同步程序。
使用相同的数据库设计我想知道为什么我需要SQL服务器上的副本。我会直接访问IBM。安装驱动程序@Kamran Farzami建议并使用它们。这样,大型机上的写入与您的查询之间就不会有任何延迟。
如果您可以接受延迟,并且无法直接访问IBM i,我会看到三个主要选项:
选项1仅在您重新同步的文件未重组时才有效。 RGZPFM命令更改记录号。如果可以,您可以在SELECT语句中获取RRN:select *, RRN(MYTABLE) as RRNMYTABLE from MYTABLE
自V5R4起,Web服务服务器包含在OS400中。所以你应该能够使用选项2。
答案 2 :(得分:1)
我已经做了类似的事情,其中SQL服务器位于远程(洪都拉斯)的互联网连接不可靠的位置。这是一个简短的VB程序,使用OLE DB驱动程序,在可用时连接到AS400的服务器上运行(或者#34;睡眠"当连接断开时)。可用时,程序将更新/同步唯一键控镜像文件。另一个程序将单个事务记录上载到单独的表(文件)。
我们还定期从AS400更新SQL Server主表(即项目主表)。这也利用了在服务器上启动的VB程序(可以是使用驱动程序的任何语言)。我相信它并不是非常优雅,但比AS / 400触发Web服务更实用。