0

我正在用 python 编写小型应用程序,它从 Oracle 读取记录并将它们插入 Vertica。

要从 Oracle 读取,我使用的是cx_Oraclepython 包,要写入 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 时间戳列。

4

1 回答 1

1

您正在尝试混合 Python 代码和 SQL;您的 Vertica 服务器试图将datetime.datetime信息解释为 SQL 模式,但它失败了。

改用参数

from datetime import datetime

cursor.execute('INSERT INTO "TEST" (COL1) values(?)',
    datetime(2011, 9, 13, 10, 47, 54, 795658))
于 2012-07-10T13:31:08.080 回答