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/




subject:
  ( 112 subscribers )