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

ナレッジ番号:5298 | 登録日:2023/07/26 | 更新日:2024/11/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 をインストールします。
  2. Python スクリプトの冒頭に次のインポート文を追記して モジュールをインポートします。
    import pyodbc
    
  3. 次の接続文字列を例に、データベース認証か 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')
    
  4. カーソル メソッドへアクセスするためのパラメータを定義します。
    cur = con.cursor()
    
  5. 次の例のようなクエリ文字列を作成します。
    querystring = "select * into ParcelsA from ParcelsB"
    
  6. クエリ文字列をカーソル メソッドに渡します。
    cur.execute(querystring)
    
  7. for ループを作成して検索結果を表示します。
    for query in cur:
    
        print str(query)
    
    con.commit()
    
    cur.close()
    

関連情報

Python ODBC Library

メタデータ

機能

種類

製品