È necessario impegnare i dati. Ogni comando SQL è in una transazione e la transazione deve essere impegnata per scrivere la transazione su SQL Server in modo che possa essere letta da altri comandi SQL.
In MS SQL Server Management Studio l'impostazione predefinita è di consentire il commit automatico, il che significa che ogni comando SQL funziona immediatamente e non è possibile eseguire il rollback.
L'esempio di inserimento nella pyodbc Getting Started document è
cursor.execute("insert into products(id, name) values ('pyodbc', 'awesome library')")
cnxn.commit()
o meglio utilizzando parametri
cursor.execute("insert into products(id, name) values (?, ?)", 'pyodbc', 'awesome library')
cnxn.commit()
Come dice il documento
Nota le chiamate al cnxn.commit(). È necessario chiamare il commit o le modifiche verranno perse! Quando la connessione viene chiusa, tutte le modifiche in sospeso verranno ripristinate. Ciò rende molto facile il recupero degli errori, ma è necessario ricordare di chiamare commit.