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
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:
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)
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