pythonでリモートコンピュータで稼働しているSQLServerにWIndows認証で接続するにはpyodbcを利用します。
pyodbcはPythonでODBCドライバを経由してデータベースに接続するためのライブラリです。
pyodbcを使ってSQLServerにリモート接続する
PythonでSQLServerにリモート接続するにはpyodbcを使います。
Pythonでpyodbcを使う
- Step1pyodbcのインストールpyodbcをインストールします。
- Step2SQLSeerverの設定SQLServer Expressの設定をします。
- Step3Pythonで実行Pythonでコーディングして実行します。
pyodbcをインストールする
pyodbcをインストールにはpipコマンドを利用します。
pip install pyodbc
SQLServer Expressの設定をする
SQLServer Expressを利用する場合は設定が必要な場合があります。
SQLserver構成マネージャーを開きます。
ここでTCP/IPが無効になっていたら右クリックしてプロパティを開いて有効に変更します。
次に「IPアドレスタグ」を選択して一番下にある「IPALL」の「TCPポート」に「1433」を設定します。
設定が完了したらSQLServerのサービスを再起動します。
SQLServerにリモート接続する
これで環境設定は完了したので、あとはPythonでコーディングを行います。
import pprint import pyodbc driver='{SQL Server}' server = 'SQLServerが稼働しているサーバー名' database = 'データベース名' trusted_connection='yes' #Windows認証YES cnxn = pyodbc.connect('DRIVER='+driver+';SERVER='+server+';DATABASE='+database+';PORT=1433;Trusted_Connection='+trusted_connection+';') cursor = cnxn.cursor() cursor.execute( "SELECT * FROM test_table" ) rows = cursor.fetchall() pprint.pprint( rows ) cursor.close() cnxn.close()
上記のソースを実行した結果は
C:>python sqlserver_test.py [(1, 'test1', 20, 0), (2, 'test2', 30, 1)]
になります。
まとめ
PythonでWindows認証でSQLServerにリモート接続するにはpyodbcを使えば簡単に行うことができます。
以上、pyodbcでWindows認証でSQLServerにリモート接続する方法でした。