Edit detail for ADO revision 3 of 1

3
Editor: geon
Time: 2009/12/03 18:42:59 GMT+1
Note: oprava odkazů-neodkazů

changed:
-
!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/


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/