利用pyodbc使用python操作資料庫,本文介紹pyodbc連結MSSQL/postgreSQL之方法。

PYODBC

新版python只需install pyodbc並在程式碼中import即可。
pip install pyodbc

而舊版python (EX:3.4)則需install pypyodbc並import。
pip install pypyodbc

連結資料庫

pyodbc連結資料庫時,無論是MSSQL或是PostgreSQL,都須先檢查DB Driver。

MSSQL

以MSSQL Server 2008為例,安裝好DB後透過以下pyodbc內置指令即可印出目前支援的drivers:

Results:
SQL Server
…(其他Drivers)

接著找到支援的MSSQL ODBC driver後,就能由以下程式操作DB:

PostgreSQL

需先至下方連結下載並安裝PostgreSQL之ODBC,
Windows請到網頁的msi資料夾下載安裝檔。
https://www.postgresql.org/ftp/odbc/versions/

安裝後使用上面pyodbc尋找driver,
Results:
SQL Server
PostgreSQL ANSI
PostgreSQL Unicode
PostgreSQL Unicode
…(其他Drivers)

並修改程式碼:

上方為什麼要加入

這四行程式呢?

因為PostgreSQL在擷取ODBC指令時,在"Unquoted Names" 是不區分大小寫(Case-insensitive)的,所以SELECT * FROM hello 會和 SELECT * FROM HELLO結果會是相同(都視為hello)。

所以我們必須將指令中的Name改為"Quoted",所以SELECT * FROM "hello" 會和 SELECT * FROM "HELLO"結果就會不同。

基於以上因素,若你的資料庫名稱,或是資料表名稱是大寫,或是有區分大小寫,那就必須特別注意資料庫操作段程式碼的撰寫邏輯。

最後修改日期: 2021-03-31

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。