Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

[gelöst]Groß/Kleinschreibung ignorieren

Alles rund um die Systemverwaltung, die Administration und Konfiguration Eures Linuxsystems

Moderator: Moderatoren

Antworten
DoctorCasino
Newbie
Newbie
Beiträge: 4
Registriert: 15. Mär 2006, 12:08

[gelöst]Groß/Kleinschreibung ignorieren

Beitrag von DoctorCasino » 19. Mär 2006, 22:03

Hi! Ich habe Suse Linux 10 installiert und darauf einen MySQL Server laufen. Habe meine AccessDB darauf exportiert. Soweit lief alles glatt.

Wenn ich allerdings das Programm starten will, das auf die DB zugreift funktioniert gar nichts mehr, weil Tabellen und Felder nicht gefunden werden können. Sie sind im Quellcode nämlich willkürlich in Groß/Kleinschreibung geschrieben. Unter Windows war das bisher ja kein Problem.

Gibt es eine Möglichkeit, die Groß/Kleinschreibung zu ignorieren, denn sonst müßte ich tausende Zeilen Quellcode durchgehen und ändern.

Werbung:
Benutzeravatar
whois
Administrator
Administrator
Beiträge: 16599
Registriert: 11. Okt 2004, 08:50
Wohnort: Aachen
Kontaktdaten:

Beitrag von whois » 20. Mär 2006, 08:43

Hi

Wie hast du die Migration gemacht?

Sieh dir bitte auch den Link an.

http://freshmeat.net/projects/mdbtools/

DoctorCasino
Newbie
Newbie
Beiträge: 4
Registriert: 15. Mär 2006, 12:08

Beitrag von DoctorCasino » 20. Mär 2006, 10:53

Hi!

Ich benutze MySQl Front und hab die AccessDB einfach importiert. Kam gerade noch nicht dazu, mich näher mit dem mdb-tools zu beschäftigen.

Benutzeravatar
whois
Administrator
Administrator
Beiträge: 16599
Registriert: 11. Okt 2004, 08:50
Wohnort: Aachen
Kontaktdaten:

Beitrag von whois » 20. Mär 2006, 12:08

Hier ist noch ein Toolkit.

Mit kleinem Film. :wink:

http://www.mysql.de/products/tools/migration-toolkit/

DoctorCasino
Newbie
Newbie
Beiträge: 4
Registriert: 15. Mär 2006, 12:08

Beitrag von DoctorCasino » 20. Mär 2006, 16:23

Diese Toolkits sind ja alle schön und gut, aber weiterhelfen tun sie mir nicht. Die Migration hat ja ohne Probleme geklappt. Alle Tbellen und Felder sind da und ich die Datenbank auch administrieren.

Aber wenn ich mit meinem Programm darauf zugreifen will, findet er gewisse Tabellen und Felder nicht, weil sie anders geschrieben sind. Also wenn ich eine Tabelle hab, die "adressen" heißt, findet sie das Programm nicht, weil im Quellcode "Adressen" steht. Als die DB auf Windows lief, war das ja kein Problem, weil Windows Groß/Kleinschreibung egal ist. Ich habe niemals daran gedacht, daß ich auf so was achten müßte als ich damals den Quellcode schrieb.

Benutzeravatar
huckfinn
Newbie
Newbie
Beiträge: 10
Registriert: 21. Okt 2005, 19:50

Beitrag von huckfinn » 21. Mär 2006, 23:55

Unsere Arbeitsgruppe hatte ähnliche Probleme mit mysql.Man muß offensichtlich die Nutzung von Groß und Kleinschreibung für Datenbankschemas und Tabellennamen vermeiden. Wir haben ein Projekt Names ARIADNE das mit einem WINDOWS oder LINUX Backend basierend auf MySql arbeiten kann. Wir haben das LINUX-Backend ewig nicht zum laufen bekommen. Der Grund war, daß MySql die Tabellen als Dateien und Die Schemas alsVerzeichnisse direkt auf das Filesystem abbildet. Das Linuxfilesystem ist aber casesensitive der SQL Standard eigentlich nicht! Die Leute von MySQLverkaufen das als "Erweiterung eines Standards" ..was immer das heißen mag. Man kann die Malaise hier nachlesen.

http://dev.mysql.com/doc/refman/5.0/en/ ... ivity.html

Unsere Arbeitsgruppe hat die gesamte Applikation auf einheitlich kleine Feld, Tabellen und Schemabezeichner umgeschreiben. ..nicht schön aber selten

Unter besagtem Link kann auch nachlesen wie man entweder mit einheitlich großen oder einheitlich kleinen Bezeichnern arbeitet. Mehr ist leider nicht möglich oder ich habe es übersehen. Neben diesen "Standardisierungen" gab es auch noch weiter Kompatibilitätsprobleme, so daß ich MySQL verworfen habe und nun mit postgesql arbeite.

ok ich hoffe das hilft bis denne huck

Benutzeravatar
panamajo
Guru
Guru
Beiträge: 2587
Registriert: 12. Feb 2005, 22:45

Re: Groß/Kleinschreibung ignorieren

Beitrag von panamajo » 22. Mär 2006, 01:10

DoctorCasino hat geschrieben:Wenn ich allerdings das Programm starten will, das auf die DB zugreift funktioniert gar nichts mehr, weil Tabellen und Felder nicht gefunden werden können. Sie sind im Quellcode nämlich willkürlich in Groß/Kleinschreibung geschrieben. Unter Windows war das bisher ja kein Problem.
Bekanntes Problem.
Bei Verwendung von MyISAM (oder ISAM) fällt die Auflösung von Tabellennamen auf das Dateisystem zurück, und da glänzen M$ Dateisysteme mit "ist mir egal".

Soll heissen: M$ Dateisysteme (wie vfat oder NTFS) können sehr wohl zwischen Groß/Kleinschreibung unterscheiden, aber das OS tut dies nicht. Beim Versuch eine Datei namens "Foo" oder "foo" via fopen() wird die Groß/Kleinschreibung ignoriert, es gewinnt die erste Datei im Directory - egal ob "Foo" gefragt wurde und existiert (ein tolles Beispiel was für bescheuerte Nebenwirkungen auftauchen wenn ein OS mit dem Paradigma "User friendly at all costs" designed wird).

Um MySQL portabel zu halten wurde für die M$ Implementierungen festgelegt dass
- Datenbanken
- Tabellennamen
von mysqldump immer lowercased exportiert werden (und damit auch die empfohlene Schreibweise sind). Feldnamen werden von MySQL selbst verwaltet und somit wird Groß/Klein unterschieden.

DoctorCasino
Newbie
Newbie
Beiträge: 4
Registriert: 15. Mär 2006, 12:08

Beitrag von DoctorCasino » 22. Mär 2006, 11:17

Jo, vielen Dank. Das heißt hat mir weitergeholfen, heißt aber auch viel Arbeit.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste