2020年3月3日 星期二

Python: 使用cx_Oracle擷取Oracle DB資料

以Python使用cx_Oracle擷取Oracle DB資料.

找了參考資料, 安裝cx_Oracle後, 不管怎麼測試, 都出現同樣問題:

  DPI-1072: the Oracle Client library version is unsupported

原先就有安裝Developer 10g和instantclient 10.2, 可能真的太舊, 再安裝instantclient 19.5, 還是同樣狀況. 結果是path的設定造成, 因為python可能先找到較舊的版本, 所以要把19.5的路徑放在最前面.

第1關過了, 再來第2個問題:

  無法找到程序輸入點GetOverlappedResultEx(在動態連結程式庫KERNEL32.dll)



這有點麻煩, 看了多篇文章才找到原因: Windows 7不支援...

找台Windows 10試試, 果然正常, 有Windows版本問題真的傷腦筋, 要特別注意.

擷取資料沒問題, 其他的就單純了.


Ref:
1.How to Connect Python to Oracle Database using cx_Oracle
https://datatofish.com/how-to-connect-python-to-an-oracle-database-using-cx_oracle/

2.Python Test API - 用python連線Oracle資料庫並操作
https://www.itread01.com/content/1542186427.html

3."DPI-1072: the Oracle Client library version is unsupported" with python3.7.2 and instantclient_19_3/instantclient_12_2 on win10
https://github.com/oracle/python-cx_Oracle/issues/384

4.GetOverlappedResultEx could not be located in kernel32.dll
https://stackoverflow.com/questions/33922025/getoverlappedresultex-could-not-be-located-in-kernel32-dll

5.结合使用 Oracle Database 11g 和 Python
https://www.oracle.com/technetwork/cn/tutorials/229069-zhs.htm#app

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。