Seite 2 von 2
Re: PEP 8 79 Zeichen
Verfasst: Samstag 20. März 2021, 20:27
von __blackjack__
IMHO wieder ein Grund SQLAlchemy zu verwenden. Das verwaltet einen Connection-Pool im Hintergrund.
Re: PEP 8 79 Zeichen
Verfasst: Sonntag 21. März 2021, 00:12
von Kalysto
@__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 ?
Re: PEP 8 79 Zeichen
Verfasst: Sonntag 21. März 2021, 00:12
von Kalysto
__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 ?
Re: PEP 8 79 Zeichen
Verfasst: Sonntag 21. März 2021, 12:00
von Kalysto
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...
Re: PEP 8 79 Zeichen
Verfasst: Sonntag 21. März 2021, 14:49
von __blackjack__
@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`.
Re: PEP 8 79 Zeichen
Verfasst: Sonntag 21. März 2021, 22:18
von Kalysto
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!
Re: PEP 8 79 Zeichen
Verfasst: Montag 22. März 2021, 01:13
von __blackjack__
@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.