首页 > 解决方案 > 使用 callproc 从 Python 调用带有输出参数的 Teradata 存储过程

问题描述

我正在运行这个简单的 python 脚本来调用 Teradata 过程,但结果没有通过 Python 返回输出参数。该过程运行良好,并从 Teradata SQL 编辑器返回输出数据。

import teradata

method,host,username,password = 'odbc','xx.xxxx.com','abcde', 'password123'

udaExec = teradata.UdaExec (appName="test", version="1.0", logConsole=False,logLevel="TRACE")
P1="ABC"
P2="TESTING1"

with udaExec.connect(method=method,system=host, username=username,password=password, driver="Teradata Database ODBC Driver 16.10",transactionMode='Teradata') as session:

results=session.callproc('db.TEST_PYTHON_CALL_RETURN2',(P1,P2,teradata.OutParam("Output1")))
print(results) 

返回的输出是

C:\Program Files (x86)\Python37-32>python ./TD_CALL_SP_3.py
['ABC', 'TESTING1', '']

有人可以帮我弄这个吗?我已经尝试了各种选择,但都没有成功。

标签: pythonteradataprocedure

解决方案


推荐阅读