Visual Studio 2015 で Python 環境を構成し、 SQL Server 、 Azure SQL Database にアクセスしてみよう

Microsoft Japan Data Platform Tech Sales Team
清水

みなさん、こんにちは。今回は、 Visual Studio 2015 ( 以下 Visual Studio ) で Python 環境を構成し、 SQL Server 2016( 以下 SQL Server )  、 Azure SQL Database にアクセスする際の手順、ポイントをお伝えします。

 

Python のインストール

今回は Python のインストールに Anaconda を使用します。 Anaconda は以下のサイトからダウンロードが可能です。

https://www.continuum.io/downloads

2016/12/6 現在 Python 2.7  及び Python 3.5  のディストリビューションが提供されていますが、ここでは、 Python 3.5 を選択します。セットアップは非常に簡単で、画面の指示に従い進めれば 10  分程度で完了します。

セットアップ完了後、コマンドプロンプトから  “python” と入力します。対話モードの Python が起動するので、簡単なコードを記述、実行し、正常動作を確認します。

image

 

Python Tools for Visual Studio のインストール

Visual Studio で Python を使用するには、 Python Tools for Visual Studio が必要です。 Visual Studio を起動し、メニューから「ファイル」→「新規作成」→「プロジェクト」を選択します。以下の画面が表示されるので、「テンプレート」から「 Python 」選択すると、「 Python Tools for Visual Studio をインストール」が表示されるので、これをクリックし、インストールを行います。

image_thumb[18]

インストール中に以下の画面が表示されたら、 Visual Studio を一旦終了し、インストールを続行、完了します (Visual Studio 本体を終了しても以下の画面は終了されません ) 。

image_thumb[12]

 

Python Tools for Visual Studio の動作確認とプロジェクトの作成

Visual Studioを起動します。メニューから「ツール」→「Python Tools」→「 Python 64 bit 3.5 Interactive 」を選択すると、対話モードの Python が起動するので、簡単なコードを記述、実行し、正常動作を確認します。

image_thumb[17]

Pythonスクリプトの記述、実行は、C#等と同様にプロジェクトを作成してから行います。メニューから「ファイル」→「新規作成」→「プロジェクト」を選択します。以下の画面が表示されるので、「テンプレート」から「 Python 」選択します。複数のテンプレートが表示されるので、「 Python Application 」を選択します。プロジェクトの名前やファイルの配置先等を適宜変更し、プロジェクトを作成します。

image_thumb[24]

 

Python スクリプトのコーディング

Python から SQL Server、 Azure SQL Database へのアクセスには、 pyodbc や pymssql 等を使用することが一般的です。ここでは、 Python から ODBC を経由して SQL Server 、 Azure SQL Database にアクセスを行う pyodbc を選択します。なお、最新の ODBC ドライバは以下のサイトからダウンロード可能です。

 

Microsoft® ODBC Driver 13 for SQL Server® - Windows + Linux

https://www.microsoft.com/ja-JP/download/details.aspx?id=50420

 

pyodbc は コマンドラインからインストールすることが一般的ですが、ここでは、Visual Studioのソリューション エクスプローラーを用いてインストールを行います。「ソリューション エクスプローラー」を表示し、「 Python Environment 」を展開、「 Python 64-bit 3.5(global default) 」を右クリック、メニューから「 Install Python Package 」を選択します。

image_thumb[30]

以下のが画面が表示されるので、「 We will download and install it using 」で「 conda 」が選択されていることを確認、インストールするパッケージ名に ”pyodbc” と入力し、「 OK 」をクリックします。

image_thumb[33]

以下のような画面が表示され、パッケージのインストールが行われます。

image

パッケージのインストールが完了したら、ソリューションエクスプローラーで「 Python 64-bit 3.5(global default)  」を展開し、「 pyodbc 」がインストールされていることを確認します。

image_thumb[40]

pyodbc  のインストールを確認したら、ソリューション エクスプローラーから拡張子が .py のファイルを開き、 スクリプトをコーディングします。コーディングの内容については、以下の内容をご参照下さい。

 #pyodbcのインポート
import pyodbc

#接続先 SQL Server 名
server = 'SQL Server 名'
#接続先データベース名
database = 'データベース名' 
#SQL Server 認証で使用するログイン名
username = 'ログイン名'
#SQL server 認証で使用するパスワード
password = 'パスワード'

#SQL Server 、 Azure SQL Database への接続
#Windows 認証の場合
cnxn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server}; SERVER='+server+'; DATABASE='+database+'; Trusted_Connection=yes')
#SQL Server 認証の場合
#cnxn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server}; SERVER='+server+'; DATABASE='+database+' ;UID='+username+'; PWD='+ password)

#カーソルのオープン
cursor = cnxn.cursor()

#クエリの実行と行の取得
cursor.execute("SELECT SalesPersonID, COUNT(*) FROM Sales.SalesOrderHeader GROUP BY SalesPersonID ORDER BY SalesPersonID;") 
row = cursor.fetchone() 

#取得した行の表示
while row: 
    print(row[0], row[1])
    row = cursor.fetchone()

#t1テーブルに行を追加
cursor.execute("INSERT t1 VALUES(1,'test1')")
#トランザクションのCOMMIT
cnxn.commit()

#接続のクローズ
cnxn.close()

pyodbc では、暗黙的なトランザクションが有効になっているため、 INSERT  の直後に commit を実行し、トランザクションをコミットしています。 pyodbc の詳細については、以下をご参照下さい。

 

https://mkleehammer.github.io/pyodbc/

 

Python スクリプトの実行、デバック

記述したスクリプトはツールバーの「開始」、メニューの「デバック」→「デバックの開始」等から実行が可能です。実行すると以下のような画面が起動し、スクリプトが実行されます。

image

また、 C#  等と同様に Visual Studio の強力なデバック機能を使用し、デバックを行うことも可能です。

 

今回は、Visual Studio で Python 環境を構成し、 SQL Server 、 Azure SQL Database にアクセスする際の手順とポイントをご紹介しましたが、いかがだったでしょうか ?Python の開発環境としては、 Atom や PyCharm 等がありますが、 ぜひ Visual Studio もご検討下さい。