Je pense que vous devez activement créer (et ouvrir) la connexion:
conn = win32com.client.Dispatch('ADODB.Connection')
conn.CommandTimeout = 3600
conn.Open(connection_string)
et vous pouvez faire des choses comme:
rs = win32com.client.Dispatch('ADODB.RecordSet')
rs.Open(qry, conn)
(je suppose que vous pouvez également définir la ActiveConnection
et CommandText
etc ... du jeu d'enregistrements, puis exécuter, mais j'ai toujours pensé Open()
était la façon plus facile et ma connaissance du api est rouillé pour dire le moins. Personnellement, je trouve plus facile d'utiliser un module qui suit le standard Python db api, comme adodbapi (inclus avec pywin32, que vous utilisez déjà), qui utilise aussi l'API COM, mais prend en charge que "sous le capot", ou pyodbc.
Exemple avec adodbapi:
conn = adodbapi.connect(conn_string, timeout=3600)
cur = conn.cursor()
cur.execute(qry)
Et un dernier conseil: jeter un oeil à sqlalchemy qui rend les choses encore plus facile (même si vous ne l'utilisez les autres trucs comme le ORM)
Salut, merci pour la réponse mais ce que je veux est-il possible d'ajouter ADODB.Recordset et ADODB.connection ensemble et si c'est possible alors s'il vous plaît donner un exemple – master