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