PEP 8 79 Zeichen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
__blackjack__
User
Beiträge: 14055
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

IMHO wieder ein Grund SQLAlchemy zu verwenden. Das verwaltet einen Connection-Pool im Hintergrund.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Kalysto
User
Beiträge: 117
Registriert: Freitag 14. April 2017, 15:28

@__blackjack__,

Damit bin ich leider nicht zurecht gekommen...
weil ich auch nicht genau weis welche Module ich benötige und ob diese bei mir laufen....

oder könntest du mir Helfen ?
soweit war ich ja schon einmal das ich pg8000 verwenden musste...

Das habe ich versucht:

Code: Alles auswählen

engine = create_engine("postgresql+pg8000://user:pass@IP/db_connect")

engine.execute(
    datanorm.insert().values(
        barcode=BARCODE,
        user_name=USER,
        sort_number=SORT_NUMBER,
        manufacturer=MANUFACTURER,
        manufacturer_designation=MANUFACTURER_DESIGNATION,
        manufacturer_designation__short=MANUFACTURER_DESIGNATION__SHORT,
        manufacturer_number=MANUFACTURER_NUMBER,
        moster_number=MOSTER_NUMBER,
        net_price=NET_PRICE,
        cutting=CUTTING,
    )
)
da bekomme ich nun die Meldung das datanorm nicht deklariert sei...

bei dem mysql.connector konnte ich noch den Port mit angeben benötige ich hier das nicht ?
Kalysto
User
Beiträge: 117
Registriert: Freitag 14. April 2017, 15:28

__blackjack__ hat geschrieben: Samstag 20. März 2021, 20:27 IMHO wieder ein Grund SQLAlchemy zu verwenden. Das verwaltet einen Connection-Pool im Hintergrund.
Und das heißt genau was ?
das er eine art Ping besitzt ?
Kalysto
User
Beiträge: 117
Registriert: Freitag 14. April 2017, 15:28

Ich weis nun wieso das nicht geht...
ich habe nur die Version 0.9.x...
Diese ist "vorinstalliert" und kann ich auch nicht beeinflussen...
und somit kennt er die neueren Module nicht.

Werde somit bei mysql.connector verbleiben.

p.s. Ich frage nochmal im Pythonista Forum nach ob man Updaten kann was ich bezweifle...
Benutzeravatar
__blackjack__
User
Beiträge: 14055
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Kalysto: Die Fehlermeldung ist wohl eher das `datanorm` nicht *definiert* ist, nicht das es nicht deklariert ist. Kleiner aber feiner Unterschied.

Und wo ist es denn definiert? Wenn das der ganze Code ist, dann stimmt die Meldung ja auch. Das ist ein Name im Python-Code der muss ja irgendwo definiert werden wenn man ihn verwenden will.

Das sieht aus als wäre es ein `Table`-Objekt, also muss man das entweder als solches definieren, oder per „reflection“ von der Datenbank abfragen.

Bezüglich Verbindungen und Ping hat `create_engine()` die Argumente `pool_recycle` und/oder `pool_pre_ping`.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Kalysto
User
Beiträge: 117
Registriert: Freitag 14. April 2017, 15:28

Die Doku ist aber nicht das gelbe vom Ei...
Komme damit nicht zurecht...
Ich belasse es nun dabei nur das ich die Anpassungen machen werde. Zum besseren lesen.

Danke dir dennoch für deine Bemühungen!
Benutzeravatar
__blackjack__
User
Beiträge: 14055
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Kalysto: Das ist ein gut dokumentiertes Projekt. Mit sehr vielen Beispielen wo eine ganze Menge was man damit machen kann vorgeführt wird und einer ausführlichen Referenzdokumentation. SQLAlchemy ist halt sehr flexibel und man kann viel damit machen, und das auch auf unterschiedliche Arten, je nach dem ob man bereits eine Datenbank hat oder die erst entwirft, ob man schon Klassen hat auf die man Daten aus der Datenbank abbilden möchte, oder ob man ein deklaratives ORM haben möchte und so weiter. Das Thema relationale Datenbanken hat eine gewisse Komplexität, da kann die Dokumentation nichts gegen machen.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten