我正在尝试使用pyodbc将数据帧插入Oracle数据库。我的代码如下:
Pokedex release
我要输入的数据框的一行是:
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()
Access中显示的列的数据类型为:
['0010930795', '231', 1, 1, nan, nan, Timestamp('2019-06-07 09:41:03')]
短文本
AUFTRAGNR:
短文本
TYPNR:
号
MENGE:
号
CNT:
短文本
LL_NR:
短文本
LL_NR2:
日期/时间
我得到的错误是:
错误:(“ HY000”,“驱动程序未提供错误!”)
由于错误消息不是很具描述性,并且我的代码中没有看到任何明显的错误,因此我真的不知道该如何处理。该错误的可能原因是什么?
任何帮助将不胜感激!
答案 0 :(得分:0)
我最终确实弄清楚了问题所在。数据库中定义的数据类型Number
指的是浮点数而不是整数,因此以下输入将起作用:
['0010930795', '231', 1.0, 1.0, nan, nan, Timestamp('2019-06-07 09:41:03')]