【问题标题】:Copy_To_SQL command is throwing error when I am passing a valid schema name当我传递有效的模式名称时,Copy_To_SQL 命令引发错误
【发布时间】:2020-02-27 12:50:25
【问题描述】:

我们正在尝试将数据框复制到 Teradata 特定数据库,但脚本不接受 schema_name 参数。正在发生登录命令中使用的数据复制到用户数据库。但我试图覆盖默认值并在 copy_to_sql 中指定数据库名称失败。

from teradataml import *
from teradataml.dataframe.copy_to import copy_to_sql

create_context(host = "ipaddrr",    username='uname', password = "pwd")

df = DataFrame.from_query("select top 10* from dbc.tables;")
copy_to_sql(df = df ,table_name = 'Tab', schema_name='DB_Name',if_exists = 'replace')

Error: TeradataMlException: [Teradata][teradataml](TDML_2007) Invalid value(s) 'DB_Name' passed to argument 'schema_name', should be: A valid database/schema name..

【问题讨论】:

    标签: pandas teradata


    【解决方案1】:

    您有名为DB_Name 的数据库/用户吗?如果没有,请先尝试创建数据库,然后运行您的复制脚本:

    CREATE DATABASE DB_NAME FROM <parent_DB> AS PERMANENT = 1000000000;
    

    我认为实用程序/程序包通常不会即时为您创建数据库,因为它可能是比创建表更复杂的操作(锁定、空间分配等)。

    【讨论】:

    • 您能否验证您在脚本中用于登录TD 系统的用户是否有权在schema_name 的数据库中创建表?
    • 是的,我的用户有权限。
    猜你喜欢
    • 1970-01-01
    • 2013-07-07
    • 1970-01-01
    • 2016-11-30
    • 2019-11-26
    • 1970-01-01
    • 2021-09-25
    • 1970-01-01
    相关资源
    最近更新 更多