inserting dataframe into Oracle Datebase using pyodbc: Error: ('HY000', 'The driver did not supply an error!')
inserting dataframe into Oracle Datebase using pyodbc: Error: ('HY000', 'The driver did not supply an error!')
我正在尝试使用 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:
Date/Time
我得到的错误是:
错误:('HY000'、'The driver did not supply an error!')
由于错误消息的描述性不强,而且我在我的代码中也没有发现任何明显的错误,所以我真的不知道该如何处理。此错误的可能原因是什么?
如有任何帮助,我们将不胜感激!
我终于弄清楚问题出在哪里了。数据库中定义的数据类型 Number
指的是 floats 而不是 integers 因此以下输入将起作用:
['0010930795', '231', 1.0, 1.0, nan, nan, Timestamp('2019-06-07 09:41:03')]
我正在尝试使用 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:
Date/Time
我得到的错误是:
错误:('HY000'、'The driver did not supply an error!')
由于错误消息的描述性不强,而且我在我的代码中也没有发现任何明显的错误,所以我真的不知道该如何处理。此错误的可能原因是什么?
如有任何帮助,我们将不胜感激!
我终于弄清楚问题出在哪里了。数据库中定义的数据类型 Number
指的是 floats 而不是 integers 因此以下输入将起作用:
['0010930795', '231', 1.0, 1.0, nan, nan, Timestamp('2019-06-07 09:41:03')]