python - '[08001][TPT][ODBC SQL Server Wire Protocol 驱动程序]无效的连接数据

标签 python teradata

我有一个 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/

相关文章:

python - 从 Python 加载大量数据到 Google Bigquery

python - 如何在 Windows 中安全地存储数据库凭据?

python - 主字段名称(文档=真)

sql - Teradata - 如何理解数据分布?

hadoop - 使用Sqoop将数据从Teradata导入到Hive

sql - 通过 Perl 连接到 Teradata

java - 如何在Java(Selenium)中从十进制数中删除不需要的零。但是如果最后一位数字不为0,那么应该显示它

python - Python 中的合并排序 - RuntimeError : maximum recursion depth exceeded

python - 从 C++ 代码转换时 python 代码出现故障?

sql - 对两个表进行采样后进行连接