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 が起動するので、簡単なコードを記述、実行し、正常動作を確認します。
Python Tools for Visual Studio のインストール
Visual Studio で Python を使用するには、 Python Tools for Visual Studio が必要です。 Visual Studio を起動し、メニューから「ファイル」→「新規作成」→「プロジェクト」を選択します。以下の画面が表示されるので、「テンプレート」から「 Python 」選択すると、「 Python Tools for Visual Studio をインストール」が表示されるので、これをクリックし、インストールを行います。
インストール中に以下の画面が表示されたら、 Visual Studio を一旦終了し、インストールを続行、完了します (Visual Studio 本体を終了しても以下の画面は終了されません ) 。
Python Tools for Visual Studio の動作確認とプロジェクトの作成
Visual Studioを起動します。メニューから「ツール」→「Python Tools」→「 Python 64 bit 3.5 Interactive 」を選択すると、対話モードの Python が起動するので、簡単なコードを記述、実行し、正常動作を確認します。
Pythonスクリプトの記述、実行は、C#等と同様にプロジェクトを作成してから行います。メニューから「ファイル」→「新規作成」→「プロジェクト」を選択します。以下の画面が表示されるので、「テンプレート」から「 Python 」選択します。複数のテンプレートが表示されるので、「 Python Application 」を選択します。プロジェクトの名前やファイルの配置先等を適宜変更し、プロジェクトを作成します。
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 」を選択します。
以下のが画面が表示されるので、「 We will download and install it using 」で「 conda 」が選択されていることを確認、インストールするパッケージ名に ”pyodbc” と入力し、「 OK 」をクリックします。
以下のような画面が表示され、パッケージのインストールが行われます。
パッケージのインストールが完了したら、ソリューションエクスプローラーで「 Python 64-bit 3.5(global default) 」を展開し、「 pyodbc 」がインストールされていることを確認します。
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 スクリプトの実行、デバック
記述したスクリプトはツールバーの「開始」、メニューの「デバック」→「デバックの開始」等から実行が可能です。実行すると以下のような画面が起動し、スクリプトが実行されます。
また、 C# 等と同様に Visual Studio の強力なデバック機能を使用し、デバックを行うことも可能です。
今回は、Visual Studio で Python 環境を構成し、 SQL Server 、 Azure SQL Database にアクセスする際の手順とポイントをご紹介しましたが、いかがだったでしょうか ?Python の開発環境としては、 Atom や PyCharm 等がありますが、 ぜひ Visual Studio もご検討下さい。