2016-05-06 11 views
0

私はこのクエリを実行し、非常に短いスクリプトを実行している:のPythonスクリプトのロックSQL Serverは、

cnxn = pyodbc.connect(driver='{SQL Server}', server='myServer', database='myDB',    
      trusted_connection='yes') 
cursor = cnxn.cursor() 
cursor.execute("INSERT INTO myTable (ID, Sale, Quantity) VALUES (176, 2.0, 35.0), (176, 2.5, 62.0), (176, 3.0, 89.0), (176, 3.5, 154.0), (176, 4.0, 225.0), (176, 4.5, 365.0)") 
cursor.close() 

私はちょうど挿入されたデータを、アップクエリのロックを取得しようとせずに実行し続けます何かを返す。私は物事を解放するためにプロセスを殺す必要があります。 SQL Server 2008の中で同じクエリを実行するとうまく動作します。これをデバッグするアドバイスは高く評価されます。

+1

問題の原因となっているクエリを表示してください... – Siyual

+0

コードに記載されています。 – mk8efz

+0

あなたの質問には、 'ちょうど挿入されたデータを取得しようとすると、クエリがロックアップします...' - あなたの質問の唯一のクエリは 'INSERT'ステートメントです。ロックされた 'SELECT'文はどこにありますか? – Siyual

答えて

0

あなたはおそらくexecutemanyを使うほうが良いでしょうし、挿入後にコミットステートメントも必要です。

vals = [ (176, 2.0, 35.0), (176, 2.5, 62.0), (176, 3.0, 89.0), (176, 3.5, 154.0), (176, 4.0, 225.0), (176, 4.5, 365.0)] 
cursor.executemany(""" 
        INSERT INTO myTable 
        (ID, Sale, Quantity) 
        VALUES (?,?,?) 
        """, vals) 
cnxn.commit() 
関連する問題