我正在python中编写一个小应用程序,它从Oracle读取记录并将它们插入到Vertica中。
要从Oracle读取我正在使用cx_Oracle
python包并写入Vertica我正在使用pyodbc
包。
当我从Oracle读取日期列时,我会按以下格式获取它:
datetime.datetime(2011, 9, 13, 10, 47, 54, 795658)
编辑:
当我在vertica中点击以下查询时:
INSERT INTO "TEST" (COL1) values(datetime.datetime(2011, 9, 13, 10, 47, 54, 795658))
我收到以下错误:
Error: ERROR: schema "datetime" does not exist
SQLState: 3F000
ErrorCode: 0
我的问题是如何将其转换为Vertica时间戳列。
答案 0 :(得分:1)
您正在尝试混合Python代码和SQL;您的Vertica服务器正在尝试将datetime.datetime
信息解释为SQL架构,但它失败了。
改为使用parameters:
from datetime import datetime
cursor.execute('INSERT INTO "TEST" (COL1) values(?)',
datetime(2011, 9, 13, 10, 47, 54, 795658))