ActiveX Data Objects (ADO, [http://en.wikipedia.org/wiki/ActiveX_Data_Objects]) je windowsí technologie založená na COM, pro práci s databázemi.
ADO můžeme používat buď přímo, prostřednictvím nějaké knihovny umožňující pracovat z Pythonu s COMem (např. ctypes+comtypes nebo pywin32), nebo použít knihovnu adodbapi (http://adodbapi.sourceforge.net/), která ADO zabaluje do standardního pythonního databázového rozhraní.
Protože je součástí Pythonu od verze 2.5 knihovna ctypes (http://python.net/crew/theller/ctypes/) může mít přímé použití ADO výhodu v situaci, kdy nechceme instalovat do Pythonu balík, který závisí na nějakých DLL knihovnách apod. Pro práci s ADO prostřednictvím ctypes si stáhneme jejich doplněk comtypes (http://sourceforge.net/projects/comtypes/), což sice je balík, ale protože obsahuje jen pythonní zdrojáky stačí ho kamkoli rozbalit a cestu k němu přidat do sys.path.
Priklad pouziti ADO s Accessem (comtypes jsem rozbalil do C:/prac/comtypes-0.6.1):
import sys sys.path.append('C:/prac/comtypes-0.6.1') import comtypes.client as client conn = client.CreateObject("ADODB.Connection") rs = client.CreateObject("ADODB.Recordset") conn.ConnectionString = r'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\prac\django\tipovacka.mdb;User Id=;Password=;' try: conn.Open() rs.Open('SELECT [name] FROM [user]', conn) try: while not rs.EOF: print rs.Fields['name'].Value rs.moveNext() finally: rs.Close() finally: conn.Close()
Větší příklad zde: http://stackoverflow.com/questions/638095/problem-inserting-data-into-ms-access-database-using-ado-via-python
Jak nastavit connection string zde: http://www.connectionstrings.com/