使用 pyodbc 将数据帧插入 Oracle 日期库:错误:("HY000"、"驱动程序未提供错误!



我正在尝试使用pyodbc将数据帧插入到Oracle数据库中。我的代码如下所示:

pyodbc.pooling = False
conn_str = (
r'DRIVER={Oracle in OraClient12Home1};'
r'UID=***;'
r'PWD=***;'
...
...)
conn = pyodbc.connect(conn_str, autocommit=True)
curs = conn.cursor()
curs.executemany('INSERT INTO TABLE.NAME(AUFTRAGNR, TYPNR, MENGE, CNT, LL_NR, LL_NR2, DATE) 
VALUES (?, ?, ?, ?, ?, ?, ?)', my_df.values.tolist())
curs.commit()
curs.close()

我尝试输入的数据帧的一行是:

['0010930795', '231', 1, 1, nan, nan, Timestamp('2019-06-07 09:41:03')]

Access 中所示的列的数据类型包括:

AUFTRAGNR:短文本
TYPNR:短文本
MENGE:数字
CNT:数字
LL_NR:短文本LL_NR2:短文本

DATE:日期/时间

我得到的错误是:

错误:("HY000"、"驱动程序未提供错误!

由于错误消息不是很具有描述性,并且我在代码中没有看到任何明显的错误,因此我真的不知道如何处理这个问题。此错误的可能原因是什么?

任何帮助将不胜感激!

我最终弄清楚了问题所在。数据库中Number定义的数据类型是指浮点数而不是整数,因此以下输入将起作用:

['0010930795', '231', 1.0, 1.0, nan, nan, Timestamp('2019-06-07 09:41:03')]

相关内容

最新更新