SFTP サイトからローカル フォルダーにファイルをダウンロードし、ダウンロードしたファイルを使用してストアド プロシージャを実行する Python スクリプトがあります。最初の側面は問題なく動作します。しかし、ストアド プロシージャを実行すると、SQL サーバー上の他のテーブルがロックされ、「タイムアウトの期限が切れました」というエラーが返されます。手順は1時間半実行されています。
これは、誰かが疑問に思っている場合に備えて、ストアド プロシージャの実行に使用した構文です。
conn = pyodbc.connect('DRIVER={SQLServer};SERVER=localhost;DATABASE=Db;UID=myid;PWD=mypwd')
cursor = conn.cursor()
cursor.execute("""exec SP_Upsert_Y ?""",sfile)
cursor.commit()