ESRIジャパン株式会社

技術情報:Python から SQL Server データベースに接続して SQL クエリを実行する方法

ナレッジ ID: 24590 | 公開日: 2023年7月26日 | 更新日: 2026年8月21日

概要

通常の GIS ジオプロセシング タスクを支援するため SQL Server への接続と SQL クエリ実行を Python に組み込むことができます。

手順

本手順では Python スクリプトから SQL Server データベースに接続して SQL クエリを実行する方法について記載します。

  1. インストール済(または予定)の Python リリースバージョンに適合する pyodbc モジュールをダウンロードしてインストールします。
    http://code.google.com/p/pyodbc/
    ArcGIS Desktop はデフォルトでは 32 ビット版の Python をインストールしますので 32 ビット版の pyodbc をインストールします。
  1. Python スクリプトの冒頭に次のインポート文を追記して モジュールをインポートします。
import pyodbc
  1. 次の接続文字列を例に、データベース認証か Windows 認証かに応じて、パラメータに適切なサーバ名、ユーザー ID(UID)とパスワードを指定して SQL Server データベースに接続します。

データベース認証での接続文字列の例(SQL2008R2 はインスタンス名)

con = pyodbc.connect('DRIVER={SQL Server};SERVER=Prod1\SQL2008R2;DATABASE=SDE;UID=sa;PWD=sa')

Windows 認証での接続文字列の例(SQL2008R2 はインスタンス名)

con = pyodbc.connect('Trusted_Connection=yes', driver = '{SQL Server}',server = 'Prod1\SQL2008R2 ', database = 'SDE')
  1. カーソル メソッドへアクセスするためのパラメータを定義します。
cur = con.cursor()
  1. 次の例のようなクエリ文字列を作成します。
querystring = "select * into ParcelsA from ParcelsB"
  1. クエリ文字列をカーソル メソッドに渡します。
cur.execute(querystring)
  1. for ループを作成して検索結果を表示します。
for query in cur:
    print str(query)
con.commit()
cur.close()

関連情報

Python ODBC Library

このナレッジはお役に立ちましたか?

はい
いいえ
フィードバックをいただきありがとうございます!