1.SQLServerのドライバをインストールする。
ドライバには、microsoftがテストをしたpyodbc Driverとpymssqlのドライバがあるようです。
このページではpyodbcを使った接続方法を説明していきます。
※私のやり方が悪いせいか、pymssqlでは動作確認ができませんでした。
Microsoftの説明Websiteはこちら
まず、環境の確認をして自身に環境に合ったドライバをインストールします。
※devは私のユーザ名なので、それぞれの環境で置き換えてください。
こちらのサイトからバージョンに合ったものをドライバをダウンロードしてインストールします。
こちらから自身の環境に合ったバージョンのドライバをダウンロードします
私の環境ではpymssql-2.1.4-cp38-cp38-win32.whlをdownloadします。
Pythonのインストールフォルダへコピーします。
C:\Users\dev\AppData\Local\Programs\Python\Python38-32 人によってはC:\Python38などになると思います
2.pyodbcモジュールをインストールします
コマンドライン(cmd.exe)を開き、下記コマンドを入力します> cd C:\Users\dev\AppData\Local\Programs\Python\Python38-32
> pip install pyodbc
(> py -m pip install pyodbc)
C:\Users\dev\AppData\Local\Programs\Python\Python38-32>py -m pip install pyodbc
Collecting pyodbc
Downloading pyodbc-4.0.30-cp38-cp38-win32.whl (58 kB)
|████████████████████████████████| 58 kB 1.6 MB/s
Installing collected packages: pyodbc
Successfully installed pyodbc-4.0.30
補足:pymssqlモジュールをインストールします(動作失敗)
コマンドライン(cmd.exe)を開き、下記コマンドを入力します> cd C:\Users\dev\AppData\Local\Programs\Python\Python38-32
> pip install pymssql-2.1.4-cp38-cp38-win32.whl
(> py -m install pymssql-2.1.4-cp38-cp38-win32.whl)
成功すると下記の様に表示されます。
ですが、こちらの環境ではうまく実行できませんでした。
C:\Users\dev\AppData\Local\Programs\Python\Python38-32>py -m pip install pymssql-2.1.4-cp38-cp38-win32.whl
Processing c:\users\dev\appdata\local\programs\python\python38-32\pymssql-2.1.4-cp38-cp38-win32.whl
Installing collected packages: pymssql
Successfully installed pymssql-2.1.4
3.Pythonから接続してみる
import pyodbc server = 'localhost' database = 'TEST' username = 'dbusername' password = 'dbuserpassword' cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password) cursor = cnxn.cursor() cursor.execute("SELECT @@version;") row = cursor.fetchone() while row: print(row[0]) row = cursor.fetchone()
実行結果(Result)
Microsoft SQL Server 2017 (RTM-GDR) (KB4505224) – 14.0.2027.2 (X64) Jun 15 2019 00:26:19 Copyright (C) 2017 Microsoft Corporation Express Edition (64-bit) on Windows 10 Pro 10.0
Environment
Windows10, Python 3.8.2, SQLServer, pyodbc