Windows 10 Pro x64 + Python3 + pyodbc で SQLite3 にアクセスしてみる


目的

SQLite3をインストールしたので、Python3 + pyodbc からのアクセスを試してみる
ODBCを使用してアクセスする

環境変数の追加

Windows版のVsCodeでPythonを使う場合、出力ターミナルで日本語の文字化けが発生する
これを回避する手段はいくつかあるようだけど、自分は環境変数に以下を追加して回避している
 変数:PYTHONIOENCODING
 値:UTF-8

pyodbcのインストール

$ sudo pip3 install pyodbc

サンプルコード

pytest003.py
import pyodbc
# Windows Add env PYTHONIOENCODING = UTF-8 & restart vscode
odbcdrv  = 'SQLITE3DEMO64'
database = r'C:\DEV\DB\sqlite3\demo.sqlite3'
username = '' 
password = '' 
# constr = 'DSN=' + odbcdrv + ';UID=' + username + ';PWD=' + password 
constr = 'DRIVER={SQLite3 ODBC Driver};DATABASE=' + database + ';UID=' + username + ';PWD=' + password

cnxn = pyodbc.connect(constr)
# Create a cursor from the connection
cursor = cnxn.cursor()

cursor.execute("SELECT * FROM TEST_TABLE")
row = cursor.fetchone()
if row:
    print(row)

cnxn.close()

参考にしたのは以下のサイト

対象テーブルは以下で作成したもの
Windows 10 Pro x64 で SQLite3を試してみる