--
Oczywiście, że istnieje. Spróbuj http://www.sqlalchemy.org/
Musisz do niego doinstalować moduły do baz danych, które chcesz
obsługiwać (takie odpowiedniki sterowników w C#) ale współpracuje z
wieloma.
Listę obsługiwanych znajdziesz na stronie http://www.sqlalchemy.org/features.html
--
Jan Koprowski
Te rozwi�zania dla konkretnych baz na og� s� zgodne ze standardowym DB-API:
http://www.python.org/dev/peps/pep-0249/
RW
>
> Te rozwiązania dla konkretnych baz na ogół są zgodne ze standardowym DB-API:
> http://www.python.org/dev/peps/pep-0249/
>
czyli jesli uzywam mysql to robie np
import mysql as db2
# reszta kodu
a jezeli zmieniam baze to wymieniam powyzsza linie np na
import postegresql as db2
i to wysztarcza?
P.S. Wiem, ze nazwy modulow sa zle ale jeszcze ich nie zmam.
--
> Oczywiście, że istnieje. Spróbuj http://www.sqlalchemy.org/
> Musisz do niego doinstalować moduły do baz danych, które chcesz
> obsługiwać (takie odpowiedniki sterowników w C#) ale współpracuje z
> wieloma.
> Listę obsługiwanych znajdziesz na stronie http://www.sqlalchemy.org/features.html
>
> --
a gdzie mam szukac sterownikow do sciagniecia(na stronie producenta
bazy?). Czy te sterowniki sa zalezne od platformy czy smigaja na kazdej
platformie gdzie jest python? Jezeli nie to czy bez problemu zgram
sterowniki dla linux/window dla glownych rozwiazan: mysql,
postegreesql, oracle?
W Pythonie masz DB API 2.0. Nic nie trzeba zmieniać.
Wystarczy np. zmienić:
import mysqldb as sql
na np.
import oracle_cx as sql
Ewentualnie możesz się bawić w użycie __import__ i robić to
dynamicznie.
No, nie do końca, diabeł tkwi w szczegółach (niektóre elementy składni
SQL, obsługa kodowań znaków, ...). Przy pisaniu aplikacji z założenia
nastawionej na wiele baz danych sqlalchemy (niekoniecznie ORM, SQL
Expression wystarczy) jest dobrą propozycją.
Można pisać zapytania używając jedynei składni SQL92. Działają bez
problemu na wielu bazach. Ale to osobna kwestia.
> Przy pisaniu aplikacji z założenia
> nastawionej na wiele baz danych sqlalchemy (niekoniecznie ORM, SQL
> Expression wystarczy) jest dobrą propozycją.
Użycie ORM też dobrym pomysłem, jeśli aplikacja ma być większa.
Różnie.
Na Linuksach sterowniki do mysql i postgresa zazwyczaj są dostępne w
dystrybucjach. Np. (Debian/Ubuntu)
apt-get install python-psycopg2 python-mysqldb
Do Oracle http://cx-oracle.sourceforge.net/ (a jeśli system nie pasuje,
normalna samodzielna kompilacja ze źródeł).
Inne bazy - Google Ci pomoże.
Polecam też rozdzialiki "Driver" w ramach
http://www.sqlalchemy.org/docs/05/reference/dialects/index.html
> Czy te sterowniki sa zalezne od platformy czy smigaja na kazdej
> platformie gdzie jest python?
Są te same ale niemal zawsze wymagają skompilowania (boć interfejsy
bazodanowe zwykle są dostępne w C-owatej formie). Innymi słowy jeśli nie
znajdziesz skompilowanej wersji na daną platformę, będziesz potrzebować
kompilatora C, developerskich headerów i bibliotek od bazy danych oraz
developerskich headerów od pythona. I oczywiście źródeł modułu z
driverem.
> Jezeli nie to czy bez problemu zgram
> sterowniki dla linux/window dla glownych rozwiazan: mysql,
> postegreesql, oracle?
Zgrasz, mnóstwo ludzi tego używa.
Dop�ki nie tykamy si� zak�adania tabel i podobnych czynno�ci.