pythonスクリプトでは、あるデータソースに対してクエリを実行し、そのクエリの各行を別のデータソースのテーブルに挿入する必要があります。私は通常、単一の挿入/選択ステートメントをtsqlリンクサーバーの結合でこれを行うだろうが、私はこの特定のデータソースへのリンクサーバー接続がありません。基本pyodbc一括挿入
これの簡単なpyodbcの例を見つけるのに問題があります。ここで私はそれを行う方法ですが、ループ内でのinsert文の実行はかなり遅いと推測しています。
result = ds1Cursor.execute(selectSql)
for row in result:
insertSql = "insert into TableName (Col1, Col2, Col3) values (?, ?, ?)"
ds2Cursor.execute(insertSql, row[0], row[1], row[2])
ds2Cursor.commit()
pyodbcでレコードを挿入する方法はありますか?とにかくこれを行うには、これは比較的効率的な方法です。私はSqlServer 2012と最新のpyodbcとpythonのバージョンを使用しています。
executemanyは実際にはバルク挿入を実際に行っていません。現場の裏側では、インサート1を1で実行しています。実際には、データをよりpython的にソース化できるラッパーです。このSOの投稿は、適切な一括挿入を提示します。 http://stackoverflow.com/questions/29638136/how-to-speed-up-with-bulk-insert-to-ms-server-from-python-with-pyodbc-from-csv – casbby