回答:
ArcPyは、通常のArcGISデスクトップにフックを提供するだけです。デスクトップと同様に、接続が確立されると、ArcGISによって明示的に閉じられるまで(通常、関連付けられているpythonウィンドウが閉じられるとき)、接続が開いたままになります。ドライバーについては、ArcGISにインストールしたドライバーを使用して、ArcSDE / RDBMSに接続します。
Pythonカーソルの概念を理解する必要があります。
これらは、データベースクエリによって返された結果を処理するために、PEP 249:Python Database API Specification v2.0のSQLデータベースカーソルをモデルにしています。
Pythonデータベースインターフェイスの大部分はこの標準に準拠しています:cx_Oracle(Oracle)、Psycopg2(PostgreSQL / PostGIS)、MySQLdb(MySQL)、sqlite3(SQLite)など。
カーソルを使用すると、一致するすべての行が処理されて結果セット全体が一度にフェッチされるまで、結果の1つ以上の行を取得できます。これにより、処理速度(パフォーマンス)の問題が発生する可能性があります(カーソルよりも速いものはありますか? ArcGISでレコードを計算するには?)。
データベースカーソルは通常、タプルのリストまたはリストのリストを返しますが、ArcGISのカーソルメソッドはPython列挙オブジェクトを返します。
カーソルソリューションを改善するために、SQLデータベースへの簡略化されたインターフェイスを提供するラッパーがいくつか存在します。これらの一部はオブジェクトリレーショナルマッパー、またはORM(データベース行からのPythonicオブジェクトの作成)と呼ばれる場合があり、その他はSQLの生成のみを支援するか、単純なマッピングサポートを提供する場合があります(高レベルデータベースプログラミングを参照)
ArcPyの場合、ソリューションは、たとえばSean Gillies(Get with it)などによって提供されます。
他の地理空間ソリューション(PyQGIS、grass、osgeo.ogr、Pyshp、Rpy、Fiona、PySALなど)はカーソルを使用しないため、物事が簡単になります...
arcpy.*Cursor
あるテクノロジーは、ArcObjectsのI*Cursor
インターフェイスへのPythonマッピングです。ArcObjectsとArcGISのジオデータベースモデルを理解することは、PEP 249カーソルインターフェイス定義の知識よりもはるかに役立ちます。
del myCursor
か?