【问题标题】:Teradata and sqlachemy connectionTeradata 和 sqlachemy 连接
【发布时间】:2019-12-30 16:27:48
【问题描述】:

我希望使用带有 teradata 方言的 sqlachemy 将一些 csv 推送到表中。 到目前为止,我写了这个:

import pandas as pd
from sqlalchemy import create_engine

user = '******'
pasw = '******'
host = 'FTGPRDTD'
DATABASE = 'DB_FTG_SRS_DATALAB'

# connect
td_engine = create_engine('teradata://'+ user +':' + pasw + '@'+ DBCNAME + ':1025/')

print ('ok step one')
print(td_engine)
# execute sql
df = pd.read_csv(r'C:/Users/c92434/Desktop/Load.csv')
print('df chargé')

df.to_sql(name= 'mdc_load', con = td_engine, index=False, schema = DATABASE, 
if_exists='replace')
print ('ok step two')

这是我收到的错误消息:

DatabaseError: (teradata.api.DatabaseError) (0, '[08001] [TPT][ODBC SQL Server Wire Protocol driver]Invalid Connection Data., [TPT][ODBC SQL Server Wire Protocol driver]Invalid attribute in connection字符串:DBCNAME。') (此错误的背景:http://sqlalche.me/e/4xp6

我能做什么?

【问题讨论】:

    标签: python sqlalchemy odbc teradata teradata-sql-assistant


    【解决方案1】:

    希望你现在已经解决了这个问题,但我已经成功了。查看您提供的内容,您设置的主机信息似乎未在连接字符串中使用。我的示例包括 dtype 参数,我用它来定义每列的数据类型,因此它们不会显示为 CLOB。

    database = "database_name"
    table = "mdc_load"
    user = "user"
    password = "password"
    host = 'FTGPRDTD:1025'
    
    td_engine = create_engine(f'teradata://{user}:{password}@{host}/?database={database}&driver=Teradata&authentication=LDAP')
    conn = td_engine.connect()
    data.to_sql(name=table, con=conn, index=False, if_exists='replace', dtype=destType)
    conn.close()
    

    【讨论】:

      【解决方案2】:

      “teradata”方言(sqlalchemy-teradata 模块)依赖于单独安装在客户端平台上的 Teradata ODBC 驱动程序。如果您安装了多个名称中包含单词 Teradata 的 ODBC 驱动程序(例如,因为您为其他数据库平台安装了带有 Teradata 品牌驱动程序的 TPT),您可能需要通过附加一个可选的来明确指定要使用的驱动程序连接字符串的参数,例如

      td_engine = create_engine('teradata://'+ user +':' + pasw + '@'+ DBCNAME + ':1025/?driver=Teradata Database ODBC Driver 16.20')
      

      或者,您可以使用不需要 ODBC 的“teradatasql”方言(teradatasqlalchemy 模块)。

      【讨论】:

        猜你喜欢
        • 2016-01-04
        • 2015-04-01
        • 1970-01-01
        • 2014-01-26
        • 2017-10-24
        • 2019-05-24
        • 2018-01-18
        • 2016-06-29
        • 2016-04-08
        相关资源
        最近更新 更多