我有一个 python 程序,它暗示连接到一个 teradata 数据库。服务器名称是默认的。两个人可以成功使用python程序,一个人不能,得到如下错误信息:
'[08001][TPT] [ODBC SQL Server Wire Protocol driver] Invalid connection Data
., [TPT][ODBC SQL Server Wire Protocol driver ]Invalid attribute in connection string : DBCNAME.'
收到错误消息的人可以访问该服务器并使用 Teradata。
Python代码:
import teradata
udaExec = teradata.UdaExec (appName="test", version="1.0",
logConsole=False)
session = udaExec.connect(method="odbc", system=servername,username=user1, password=passw)
最佳答案
如果您查看日志,您会发现您的 ODBC 配置中可能设置了不止一个 Teradata 驱动程序。
要设置正确的 Teradata 驱动程序,您可以将驱动程序属性添加到连接方法:
session = udaExec.connect(method="odbc", system="servername", username=user1, password=passw, driver="Teradata");
另一种连接到 Teradata 的方法是使用用户在 ODBC 设置中定义的 DSN:
import teradata
udaExec = teradata.UdaExec (appName="test", version="1.0", logConsole=False)
session = udaExec.connect(method="odbc", dsn="<dsn-defined-by-user>", username=user1, password=passw)
关于python - '[08001][TPT][ODBC SQL Server Wire Protocol 驱动程序]无效的连接数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39168850/