Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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 もご検討下さい。