Ich habe in Postgresql Tabellennamen mit Großbuchstaben.
Beim Ausführen eines sql anweisung mit Python werden die Namen jedoch als kleingeschrieben interpretiert. Habe verschiedene db-module ausprobiert.
dbi mit odbc,
psycop2,
pgdb,
p8000.
Immer das selbe Ergebnis.
System: Windows XP SP2, Postgresql 8.2, python 2.5.
Im pgAdmin Query Fenster passiert das gleiche, hier kann man aber mit
Hochkomma tricksen: Insert into "FF" (silo0,silo1) Values(0.0,1.1)
in python:
sqlstring="Insert into "'"FF"'" (silo0,silo1) Values(0.0,1.1)"
cur.execute (sqlstring)
gibts leider keine Einträge.
Langsam gehen mir die Ideen aus.
Grossbuchstaben in Postgresql
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo brucker!brucker hat geschrieben:Ich habe in Postgresql Tabellennamen mit Großbuchstaben.
Willkommen im Python-Forum!
Ich habe leider keine Lösung für dich -- nur einen Hinweis. Wenn du es irgendwie beeinflussen kannst, dann schreibe die Tabellennamen klein. Das ist so üblich und alles andere ist Pfusch. Ansonsten wirst du immer irgendwie tricksen müssen. Das macht auf Dauer keinen Spaß.
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Hallo Brucker,
Gerold hat schon den richtigen Hinweis gegeben. Es ist in Postgres durchaus möglich Namen groß und klein gemischt mit etlichen Sonderzeichen zu erstellen. Nur müssen sie dann im SQL-Befehl immer in "" gesetzt werden. Postgres unterscheidet. Daher auch meine Empfehlung alle Namen klein zu schreiben!!! Wo und mit welcher Schnittstelle ich Daten abrufe spielt daher logischerweise keine Rolle und man wird immer die gleichen Probleme haben.
Schaue dir die sehr gute Hilfe von Postgres an (Kapitel 4.1.1: Namen und Schlüsselwörter):
http://www.postgresql.org/files/documen ... DENTIFIERS
Wenn du schon vorhande Tabellen hast, die der Konvention der Kleinschreibung nicht entsprechen, dann solltest du Views dieser Tabellen bauen, in der alle Namen dann klein sind und später nur diese Views abfragen!
Viel Erfolg!
Gerold hat schon den richtigen Hinweis gegeben. Es ist in Postgres durchaus möglich Namen groß und klein gemischt mit etlichen Sonderzeichen zu erstellen. Nur müssen sie dann im SQL-Befehl immer in "" gesetzt werden. Postgres unterscheidet. Daher auch meine Empfehlung alle Namen klein zu schreiben!!! Wo und mit welcher Schnittstelle ich Daten abrufe spielt daher logischerweise keine Rolle und man wird immer die gleichen Probleme haben.
Schaue dir die sehr gute Hilfe von Postgres an (Kapitel 4.1.1: Namen und Schlüsselwörter):
http://www.postgresql.org/files/documen ... DENTIFIERS
Wenn du schon vorhande Tabellen hast, die der Konvention der Kleinschreibung nicht entsprechen, dann solltest du Views dieser Tabellen bauen, in der alle Namen dann klein sind und später nur diese Views abfragen!
Viel Erfolg!