Python 如何将日期值插入vertica
我正在用python编写一个小应用程序,从Oracle读取记录并将其插入Vertica 要从Oracle读取数据,我使用的是Python 如何将日期值插入vertica,python,vertica,Python,Vertica,我正在用python编写一个小应用程序,从Oracle读取记录并将其插入Vertica 要从Oracle读取数据,我使用的是cx\u Oraclepython包;要将数据写入Vertica,我使用的是pyodbc包 当我从Oracle读取日期列时,我得到的格式如下: datetime.datetime(2011, 9, 13, 10, 47, 54, 795658) 编辑: 当我在vertica中点击以下查询时: INSERT INTO "TEST" (COL1) values(datetim
cx\u 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时间戳列 您正在尝试混合Python代码和SQL;您的Vertica服务器正在尝试将
datetime.datetime
信息解释为SQL架构,但失败
改用:
这应该工作没有任何问题或手动转换
pyodbc
可以本地处理datetime.datetime
实例(它们被转换为SQL\u时间戳值)。如果这不起作用,那将是ODBC驱动程序的问题,而不是python。我正在Vertica中运行以下查询,并返回一个错误:插入“TEST”(COL1)值(datetime.datetime(2011,9,13,10,47,54,795658)),您需要告诉我们什么错误。请完全回溯,您可以将其添加到您的问题中。有关格式的帮助,请参阅。我特意将其混合在一起以显示datetime。datetime(2011,9,13,10,47,54,795658)在Vertica上失败。我试图运行您的解决方案,但出现以下异常:AttributeError:type对象“datetime.datetime”没有属性“datetime”示例;您从模块中导入了datetime
类型,我假设您只导入了模块;请看示例中的datetime引用。
from datetime import datetime
cursor.execute('INSERT INTO "TEST" (COL1) values(?)',
datetime(2011, 9, 13, 10, 47, 54, 795658))