使用python从Teradata下载DML和DDL sql



使用python从teradata数据库下载DDL、DML和存储过程应该遵循什么方法。

我已经创建了示例代码,但下载这些sql文件用于数据迁移过程的方法是什么。

udaExec = teradata.UdaExec(appName="HelloWorld", version="1.0",logConsole=False)
session = udaExec.connect(method="odbc", system="xxx",username="xxx", password="xxx");
for row in session.execute("show tables {} > {}".format(tables, export_tables)):
print(row)

与MSSQL有MSSQL脚本下载.sql文件不同,teradata是否提供任何此类下载选项。此外,它是否支持下载序列、视图和过程?

对于模式迁移过程,从teradata作为源下载这些文件的最佳方法应该是什么?

很高兴与大家分享我获得了这种方法的解决方案。为了获得sql格式的文件,请使用给定的代码提取DDL和DML代码。

给定的代码用于示例数据库dbc。

with teradatasql.connect(host='enter_host_ip', user='---', password='---') as connect:
#get the table name and database name in csv file using select statement
df = pd.read_csv("result.csv", index_col=None)
for tables_name in df['TableName']:
query = "SHOW TABLE DBC."+ tables_name
try:
df = pd.read_sql(query, connect)
df1 = df['Request Text'][0]
writePath = "C:\Users\SQL\"+tables_name+".sql"
with open(writePath, 'a') as f:
dfAsString = df1
f.write(dfAsString)
except Exception as e1:
print(tables_name)            
pass

注意:在192个表中,我能够获得189个表的DDL/DML脚本。对于表格,执行手动干预。

最新更新