使用teradatasql Python模块连接Teradata执行SQL查询失败求助
Teradatasql模块连接Teradata报错解决
问题场景
使用teradatasql模块通过KRB5认证连接Teradata时触发报错,代码如下:
import teradatasql conn='{"host":"hostname","logmech":"KRB5"}' cxnn=teradatasql.connect(conn)
报错信息
teradatasql.OperationalError: [Version 17.20.0.42] [Session 0] [Teradata SQL Driver] Failed to connect to 'hostname': hostname lookup failed
解决步骤
- 验证Teradata服务器主机名/IP的有效性:执行
ping hostname,确认本地能正常解析并连通目标服务器,若无法解析,需检查DNS配置或直接改用服务器IP地址 - 修正连接参数传递方式:teradatasql.connect()原生支持字典参数,无需转为JSON字符串,正确写法:
import teradatasql conn_params = {"host": "你的Teradata主机名/IP", "logmech": "KRB5"} cxnn = teradatasql.connect(**conn_params)
- 若使用Kerberos认证仍有后续问题:
- 检查本地
krb5.conf配置文件,确保Realm、KDC地址等信息正确 - 执行
kinit命令获取有效Kerberos票据,用klist确认票据状态正常 - 确认Teradata服务器已开启Kerberos认证服务,且当前用户拥有对应访问权限
- 检查本地
内容的提问来源于stack exchange,提问作者rock
相关产品推荐
相关产品推荐

