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

Python用pyodbc连接ODBC查询数据报print缺少括号语法错误

问题原因

你触发报错的直接原因是语法不匹配:

  • 你运行代码的环境是Python 3版本,该版本中print是内置函数,调用时必须把输出内容放在括号内,你写的print row是Python 2的语法规则,不符合Python 3的语法要求,所以直接触发了SyntaxError报错。
  • 还有两个潜在问题需要提前检查,避免修复语法问题后仍运行失败:
    • 确认代码开头已经导入pyodbc并设置了别名po,即是否有import pyodbc as po这段代码,没有的话po.connect会触发名称未定义报错
    • 确认AS400、DBQ、UID、PWD四个变量你已经提前赋值,未定义直接使用也会触发报错
修复后的代码示例
# 未导入模块的话先加这行
import pyodbc as po

# 替换为你自己的实际连接参数值
AS400 = "你的AS400服务地址"
DBQ = "你的DBQ配置值"
UID = "你的登录用户名"
PWD = "你的登录密码"

conn = po.connect(
                DRIVER='{iSeries Access ODBC Driver}',
                SYSTEM = AS400,                
                DBQ = DBQ,
                DFTPKGLIB= 'QGPL',
                LANGUAGEID='ENU',
                PKG = 'QGPL/DEFAULT(IBM)',
                UID=UID,
                PWD=PWD)

cursor = conn.cursor()
cursor.execute("SELECT mmnmbtp.FXCLN FROM mmnmbtp")
for row in cursor.fetchall():
    # 仅修改此处,给print补充括号即可
    print(row)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 05:06:01