通过ODBC从AS400/IBM i取数至Excel遇SQL及架构显示问题
解决ODBC连接IBM i后Excel中找不到指定库/表的问题
检查ODBC驱动的默认库与架构显示设置
打开ODBC数据源管理器,找到你的IBM i数据源进入配置界面:- 确认“默认库”是否设为
CAPPSERV,若未指定,Excel会优先显示当前用户的默认库,自然找不到目标对象 - 部分驱动有“显示所有库”选项,勾选后可展示IBM i上的全部库架构
- 确认“默认库”是否设为
直接用完整SQL语句绕开可视化表列表
不用依赖Excel的表选择界面,直接通过以下步骤查询:- 点击Excel的「数据」选项卡→「自其他来源」→「来自Microsoft Query」
- 选择你的IBM i ODBC数据源,跳过表选择环节
- 输入完整SQL语句:
SELECT * FROM CAPPSERV.XRFFIL02.PRDMST01,执行后即可获取数据
确认IBM i对象的命名规则
在System i Navigator中查看CAPPSERV库下的XRFFIL02属性:- 若XRFFIL02是物理文件的成员(而非独立表),ODBC默认不显示成员,需修改SQL语句为
SELECT * FROM CAPPSERV.PRDMST01(XRFFIL02)来指定成员 - 检查对象的SQL架构名称,部分IBM i库有别名,ODBC仅识别SQL标准的架构名称
- 若XRFFIL02是物理文件的成员(而非独立表),ODBC默认不显示成员,需修改SQL语句为
手动指定ODBC驱动的架构列表
针对IBM i Access ODBC Driver:- 进入数据源配置的「高级」选项卡
- 在「架构列表」中输入
CAPPSERV(多架构用逗号分隔) - 保存配置后重新连接Excel,目标架构会出现在表列表中
清除Excel数据源缓存
Excel可能缓存旧的架构信息,解决方法:- 断开当前ODBC连接
- 关闭并重新打开Excel
- 重新建立连接,查看架构列表是否更新
内容的提问来源于stack exchange,提问作者datasm
相关产品推荐
相关产品推荐

