You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure SQL托管实例中创建链接服务器连接IBM AS400 i系列

从Azure SQL托管实例获取IBM i(AS400)数据的实现方案

方法一:通过链接服务器直接访问

前置条件

  • 确保Azure SQL托管实例所在VNet与IBM i网络通过VPN网关或ExpressRoute建立私有连接,验证IBM i的446端口(默认数据库端口)可访问。
  • 确认操作账号拥有Azure SQL托管实例的ALTER ANY LINKED SERVER权限。

配置链接服务器

使用T-SQL存储过程创建链接服务器,支持ODBC或OLE DB两种驱动方式:

-- 使用ODBC驱动创建链接服务器
EXEC sp_addlinkedserver
    @server = 'IBMILINK', -- 自定义链接服务器名称
    @srvproduct = 'IBM i Access ODBC Driver',
    @provider = 'MSDASQL',
    @datasrc = 'YourIBMiDSN'; -- 对应配置好的ODBC数据源名称

-- 添加IBM i登录映射
EXEC sp_addlinkedsrvlogin
    @rmtsrvname = 'IBMILINK',
    @useself = 'FALSE',
    @rmtuser = 'IBMi_Username', -- IBM i账号
    @rmtpassword = 'IBMi_Password'; -- IBM i密码

若使用IBM OLE DB Provider,将@provider改为IBMDASQL,@srvproduct设为IBM i即可。

查询数据

创建完成后,通过四部分名称或OPENQUERY执行查询:

-- 四部分名称查询
SELECT * FROM [IBMILINK].[TargetLibrary].[TargetTable];

-- 使用OPENQUERY(适合复杂SQL)
SELECT * FROM OPENQUERY(IBMILINK, 'SELECT * FROM TargetLibrary.TargetTable');

方法二:通过Azure Data Factory同步数据到托管实例

如果直接链接服务器存在网络或驱动限制,可通过ADF中转同步:

  • 配置源数据集:创建IBM i (AS400) 类型数据集,填写IBM i的服务器地址、端口、用户名、密码及目标库名称。
  • 配置目标数据集:创建Azure SQL托管实例类型数据集,填写托管实例的连接信息及目标表名。
  • 创建复制管道:添加复制活动,将源数据集的数据同步到托管实例的目标表,可设置定时调度实现增量或全量同步,之后直接查询托管实例本地表即可。

核心连接参数说明

  • IBM i侧:
    • 服务器地址:IBM i的IP地址或主机名
    • 端口:默认446(若修改过需对应调整)
    • 认证信息:拥有目标库、表读取权限的IBM i账号和密码
    • 目标库(Library):存储待访问表的IBM i逻辑库名称
  • Azure SQL托管实例侧:
    • 链接服务器权限:需使用具备ALTER ANY LINKED SERVER权限的账号执行配置
    • 网络要求:必须通过私有连接打通网络,不建议公网直接访问IBM i

内容的提问来源于stack exchange,提问作者Asutosh Nayak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 15:35:22