dbConnections, wann mehrere nutzen?

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
kryz
User
Beiträge: 12
Registriert: Sonntag 3. Februar 2008, 16:55

hallo zusammen,

was für unterschiede gibt es, ob ich ein oder mehrere dbConnections benutze? ich habe leider nichts gescheites dazu gefunden.

falls relevant: ich arbeite mit cx_Oracle und einer oracleXE datenbank (im moment noch).
kryz
User
Beiträge: 12
Registriert: Sonntag 3. Februar 2008, 16:55

einen unterschied habe ich unterdessen selbst herausgefunden 8) führt man auf connection_1 ein insert statement aus ohne zu commiten, stehen diese daten mit connection_1 bei select-abfragen zur verfügung. bei connection_2 jedoch erst nach dem commit.

gibt es denn noch weitere gründe, mehr als eine connection aufzubauen? oder wie wird das am besten gehandhabt?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

kryz hat geschrieben:einen unterschied habe ich unterdessen selbst herausgefunden 8) führt man auf connection_1 ein insert statement aus ohne zu commiten, stehen diese daten mit connection_1 bei select-abfragen zur verfügung. bei connection_2 jedoch erst nach dem commit.
Was ja gerade der Sinn von Transkationen ist ;-)
gibt es denn noch weitere gründe, mehr als eine connection aufzubauen? oder wie wird das am besten gehandhabt?
Ich weiß nicht wie es bei Threads aussieht, aber sollte eine Connection Thread-safe sein, so könnte man in parall ablaufenden Threads jeweils eine eigene Connection nutzen.

In meinen Scripten hat mir immer eine gereicht :-D
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Hyperion hat geschrieben: Ich weiß nicht wie es bei Threads aussieht, aber sollte eine Connection Thread-safe sein, so könnte man in parall ablaufenden Threads jeweils eine eigene Connection nutzen.
Bei sqlite muss man es so leider machen.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

ice2k3 hat geschrieben:
Hyperion hat geschrieben:Threads jeweils eine eigene Connection nutzen.
Bei sqlite muss man es so leider machen.
Hallo!

Meiner Meinung nach, sollte man auch bei anderen Datenbanken keine Connection threadübergreifend verwenden.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

ice2k3 hat geschrieben:
Hyperion hat geschrieben: Ich weiß nicht wie es bei Threads aussieht, aber sollte eine Connection Thread-safe sein, so könnte man in parall ablaufenden Threads jeweils eine eigene Connection nutzen.
Bei sqlite muss man es so leider machen.
Für SQLite gibts auch "another python sqlite wrapper". Bei dem kann man, soweit ich weiss von mehreren Threads aus auf eine Connection zugreifen.

http://code.google.com/p/apsw/

Gruss
kryz
User
Beiträge: 12
Registriert: Sonntag 3. Februar 2008, 16:55

danke für die antworten. in dem fall muss ich mir um dieses thema keine grossen gedanken mehr machen :D
Antworten