簡體   English   中英

使用 SQLAlchemy 將 dataframe 推送到 db2 數據庫時出錯

[英]Error in pushing dataframe to db2 Database using SQLAlchemy

我有一個形狀為3200 x 8的 dataframe 。 我正在嘗試使用 sqlalchemy 將其推送到 IBM 的 DB2 數據庫。 其中一列包含可變長度的文本,將其視為帶有表情符號的英語句子/評論,以及包含其他一些數據類型的其他列。 總而言之,考慮到 dataframe 的尺寸很大。

僅供參考,我已經配置了引擎,並且使用少量數據看起來還不錯。

當我做,

df.to_sql(name="my_table", con=db2_engine,index=False,if_exists='append')

我得到一個錯誤,

DatabaseError: ibm_db_dbi::DatabaseError: Exception('SQLRowCount failed: [IBM][CLI Driver] CLI0125E Function sequence error. SQLSTATE=HY010 SQLCODE=-99999')

我嘗試了 to_sql 的塊選項,但無濟於事。

如何修復此錯誤?

編輯:

這是我的pip freeze的 output

cachetools==4.1.0
certifi==2020.4.5.1
chardet==3.0.4
emoji==0.5.4
google-api-core==1.17.0
google-api-python-client==1.8.2
google-auth==1.14.2
google-auth-httplib2==0.0.3
google-auth-oauthlib==0.4.1
googleapis-common-protos==1.51.0
httplib2==0.17.3
idna==2.9
langdetect==1.0.8
oauthlib==3.1.0
protobuf==3.11.3
pyasn1==0.4.8
pyasn1-modules==0.2.8
pytz==2020.1
requests==2.23.0
requests-oauthlib==1.3.0
rsa==4.0
six==1.14.0
uritemplate==3.0.1
urllib3==1.25.9

今天有同樣的問題(我找到這個鏈接的原因)。

問題似乎是@mao建議有一個內容被db2拒絕,在我的例子中,我有一列包含一些整數和一些空字符串,混淆了SQL解釋器對要使用的實際數據類型(int或字符串) )。

解決方案:將列中的所有值更改為字符串數據類型並且它工作。

錯誤來源: https://www.sqlerror.de/db2_sql_error_-804_sqlstate_07002.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM