Edit detail for Oracle revision 1 of 1

1
Editor: pycz
Time: 2006/07/11 20:07:47 GMT+0
Note:

changed:
-
Python a Oracle

    "cx_Oracle":http://www.computronix.com/utilities.shtml

        Modul "cx_Oracle":http://www.computronix.com/utilities.shtml je zatím to nejlepší, co jsem vyzkoušel a používám. Hlavně to funguje. ("stránka projektu, licence atd.":http://sourceforge.net/projects/cx-oracle)

        Modul podporuje Python "DB API 2.0":http://www.python.org/topics/database/DatabaseAPI-2.0.html pro všechny Oracle servery, na které se dokáže připojit klient, se kterým je cx_Oracle zkompilován. Běži na Linuxu, Solarisu, HP/UXu, Tru64 Unixu a MS Windows. Ke standardními DB API přidává některá Oracle specifická rozšíření.

        Modul vyžaduje korektně nainstalovaného "Oracle klienta":http://www.oracle.com/technology/software/index.html (stačí instant client). Jsou dvě možnosti jak modul nainstalovat:

        - binární instalace. Často používám na Windows. Zde je třeba mít Oracle klienta ve stejné verzi, se kterou bylo cx_Oracle nainstalováno. Jinak to nebude fungovat (Chyby při importu modulu se odkazují na neexistující funkce ve sdílených knihovnách). V současnosti jsou to verze klienta Oracle 8.1.7, 9.2.0 a 10.1.0.

        - ze zdrojových kódů. Musí být dostupný překladač C (gcc, mingw). Na UN*Xech kompilace většinou proběhne aniž bych si čehokoli všimnul. Na MS Windows raději instaluji k požadované verzi OCI ještě klienta 10.1.0 a používám binární distribuci.

        Příklad použití (dále "viz dokumentace":http://starship.python.net/crew/atuining/cx_Oracle/html/index.html):

    ::

      import cx_Oracle

      connection = cx_Oracle.connect('s0/s0@test1')
      statement = 'select table_name, tablespace_name from user_tables'
      cursor = connection.cursor()
      cursor.execute(statement)
      results = cursor.fetchall()
      cur.close()

      for tname, tbsname in results:
          print tname, ' ', tbsname


Další články: "Obecné povídání přímo od Oracle":http://www.oracle.com/technology/pub/articles/devlin-python-oracle.html (Březen 2006)

"DCOracle":http://www.zope.org/Products/DCOracle, "DCOracle2":http://www.zope.org/Members/matt/dco2

        Tohle jsem nějak nezprovozňoval... jsou to nějaké zdechliny z dob svěžesti Oracle 8.

    a další na "google":http://www.google.com/search?q=python+oracle a "zope.org":http://www.zope.org - opět většinou mrtvoly


Python a Oracle

cx_Oracle

Modul cx_Oracle je zatím to nejlepší, co jsem vyzkoušel a používám. Hlavně to funguje. ("stránka projektu, licence atd.":http://sourceforge.net/projects/cx-oracle)

Modul podporuje Python DB API 2.0 pro všechny Oracle servery, na které se dokáže připojit klient, se kterým je cx_Oracle zkompilován. Běži na Linuxu, Solarisu, HP/UXu?, Tru64 Unixu a MS Windows. Ke standardními DB API přidává některá Oracle specifická rozšíření.

Modul vyžaduje korektně nainstalovaného Oracle klienta (stačí instant client). Jsou dvě možnosti jak modul nainstalovat:

  • binární instalace. Často používám na Windows. Zde je třeba mít Oracle klienta ve stejné verzi, se kterou bylo cx_Oracle nainstalováno. Jinak to nebude fungovat (Chyby při importu modulu se odkazují na neexistující funkce ve sdílených knihovnách). V současnosti jsou to verze klienta Oracle 8.1.7, 9.2.0 a 10.1.0.
  • ze zdrojových kódů. Musí být dostupný překladač C (gcc, mingw). Na UN*Xech kompilace většinou proběhne aniž bych si čehokoli všimnul. Na MS Windows raději instaluji k požadované verzi OCI ještě klienta 10.1.0 a používám binární distribuci.

Příklad použití (dále viz dokumentace):

      import cx_Oracle

      connection = cx_Oracle.connect('s0/s0@test1')
      statement = 'select table_name, tablespace_name from user_tables'
      cursor = connection.cursor()
      cursor.execute(statement)
      results = cursor.fetchall()
      cur.close()

      for tname, tbsname in results:
          print tname, ' ', tbsname

Další články: "Obecné povídání přímo od Oracle":http://www.oracle.com/technology/pub/articles/devlin-python-oracle.html (Březen 2006)

DCOracle?, DCOracle2?

Tohle jsem nějak nezprovozňoval... jsou to nějaké zdechliny z dob svěžesti Oracle 8.

a další na google a zope.org - opět většinou mrtvoly