SQL Datenbank

Status
Für weitere Antworten geschlossen.

Skydiver6169

Benutzer
Mitglied seit
22. Jan 2010
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen.
Ich habe mal eine frage bzw. ein problem.
Ich habe eine DS106j und habe dort meine SQL Datenbank laufen.
Soweit sogut.
Nun habe ich allerdings bei meinem Programm eine neue Version installiert und di8eses ruft die Tabellen in der SQL Datenbank unterschiedlich ab. Mal groß, mal klein geschrieben. In dem ein oder anderen fall werden die Tabellen eben dann nicht gefunden.
Gibt es eine möglichkeit das so einzustellen das die Diskstation, bzw. der SQL Server die Groß-Kleinschreibung ignoriert...???

Vielen Dank für eure hilfe
Marty
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
imho wird das nicht so einfach gehen. Weil Linux an sich schon case-sensitive ist. Wieso ruft denn deine Appl die Tabellen unterschiedlich auf? Das klingt mir nach einem Bug und nicht nach einem Feature
 

Skydiver6169

Benutzer
Mitglied seit
22. Jan 2010
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Hallo Jahlives,

das Problem ist, das diese Firma die das Programm entwickelt hatt, relativ groß ist und diese art des SQL Servers nicht unterstüzt.
Das Programm greift auf die Tabellen mit unterschiedlichen applikationen zu.
Die eine sendet die Anfrage eben groß geschrieben, die andere klein.
Die sagen ganz klar, es muß eine SQL Datenbank auf einem Windows Server laufen. Da würde das Problem nicht auftreten.
Es ist auch erst seit der neuen Version so. Die alte funktionierte super, aber mit der kann ich nicht länger Arbeiten.
Ich sehe eigentlich auch nicht ein mir deswegen einen Windows Server anzuschaffen.
So ein sch....
Irgendwie muß ich mir jetzt schnell was überlegen, da ich mit der Datenbank ja geschäftlich Arbeiten muß.

Aber vielen Dank für deine Antwort.
Viele Grüße
Marty
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84
Es ist leider so, dass auf einem Windows Server die Gross/Kleinschreibung egal ist. Einige Informationen über die Gross/Kleinschreibung in mysql habe ich hier gefunden.
So wie ich das verstanden habe, muss auf dem Windows-Server die Restriktion auf nur kleine Datenbank- und Tabellennamen eingestellt werden, anders wirst du keine Chance haben, da Linux halt case-sensitive ist.
 

Don Claus

Benutzer
Mitglied seit
11. Aug 2009
Beiträge
34
Punkte für Reaktionen
0
Punkte
6
Es ist leider so, dass auf einem Windows Server die Gross/Kleinschreibung egal ist. Einige Informationen über die Gross/Kleinschreibung in mysql habe ich hier gefunden.
So wie ich das verstanden habe, muss auf dem Windows-Server die Restriktion auf nur kleine Datenbank- und Tabellennamen eingestellt werden, anders wirst du keine Chance haben, da Linux halt case-sensitive ist.

Hallöle,
ich habe das Problem auch und fast aufgegeben. Case sensitive wurde auf der Syno bei einem Update aktiviert, welches schon ewig zurück liegt. Leider habe ich damals ein "ja" angeklickt und schon war meine SQL Datenbank nicht mehr erreichbar. Recherchen überall und jetzt auch mit dem Admin Tool in den diversen config dateien und logs sind nicht unbedingt erfolgreich. Auf der MySql Wiki stehen Hinweise, die für den ungeübten User (wie ich einer bin) nicht zum Erfolg führen. Es muss einen Eintrag in einer bestimmten Konfigurationsdatei gemacht werden, wo "case sensitive " für Windoof auf "1" gestellt wird. Wenn hier erfahrene Leser Hilfe geben würden, wären jetzt schon zwei User glücklicher.

Danke
 

Don Claus

Benutzer
Mitglied seit
11. Aug 2009
Beiträge
34
Punkte für Reaktionen
0
Punkte
6
Hallo,
ja, das kannte ich auch schon, aber wie wende ich das an?

Sorry, bin ein :cool:Greenhorn in dem Bereich...
 

Don Claus

Benutzer
Mitglied seit
11. Aug 2009
Beiträge
34
Punkte für Reaktionen
0
Punkte
6
case sensitive ändern

Hallo,
ja, das kannte ich auch schon, aber wie wende ich das an?

Sorry, bin ein :cool:Greenhorn in dem Bereich...

Hallo noch einmal.
Gibt es denn keine Spezis hier, die schreiben können, welche Datei und dann welcher Eintrag geändert werden müssen.
Das kann doch nicht sein. Wo ist Synology selber, schließlich haben die das Dilemma mit einem Update erst provoziert ?
:mad:
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Wo ist Synology selber, schließlich haben die das Dilemma mit einem Update erst provoziert ?
:mad:
Sicher nicht hier ;) Hier liest niemand von Synology mit. Wir sind ein Community Forum.
Hast du denn mal eine Support Anfrage an Synology geschickt? Oder probiers mal im intl Forum. Dort lesen Mitarbeiter von Synology mit
 

Don Claus

Benutzer
Mitglied seit
11. Aug 2009
Beiträge
34
Punkte für Reaktionen
0
Punkte
6
case sensitive ändern

Danke für den Hinweis.
Ich denke, eine derartige Anfrage sollte Hilfe bringen.
Wenn ich hier so recherchiere, bin ich ja nicht alleine auf der Welt mit dem Problem.
 

Lion1984

Benutzer
Mitglied seit
07. Nov 2007
Beiträge
370
Punkte für Reaktionen
0
Punkte
0
Du kannst wohl auch nicht erwarten, dass wir deine Rechere machen oder ?
Sei mir nicht böse, aber den Begriff hast du und unsere Helden hier wissen ja auch nicht alles :) Viel aber nicht alles :)
Hier z.b. findest du mehrer Möglichkeiten wie man den Wert setzt, vielleicht hilft dir das was.

Der Suchbegriff bei Google war "mysql lower_case_table_names how" vielleicht findest du ja dann genaures.

Ansonsten würde ich Synology nur eine "Teilschuld" zuschieben, als Entwickler sollte man immer case sensetiv arbeiten... egal ob es der MS SQL Server nun macht oder nicht :)

Lion
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Ansonsten würde ich Synology nur eine "Teilschuld" zuschieben, als Entwickler sollte man immer case sensetiv arbeiten... egal ob es der MS SQL Server nun macht oder nicht :)
Full ack :)
Entwickle immer so als wäre es case-sensitive

Gruss

tobi
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Ich denke, eine derartige Anfrage sollte Hilfe bringen.
Wenn ich hier so recherchiere, bin ich ja nicht alleine auf der Welt mit dem Problem.

Wir sind ein 'nettes' Forum, nur ab und zu gibts Leute wie dich, die quengeln sofort herum, wenn sie auf ihre Frage nicht sofort und gleich eine Antwort bekommen. Deswegen der dezente Hinweis auf unsere Forenregeln: man darf zu allem seine Fragen stellen, aber nicht erwarten, dass man eine Antwort erhält. Denk doch mal logisch, hier sind alles Leute, die in ihrer Freizeit gut uns gerne Auskunft erteilen, aber nun nicht 24 Stunden rund um die Uhr für dich da sind ...

Zu deinem Problem, auf der DS gibt es keine wirklich MySQL-Konfigurationsdatei, wo man diese Option einstellen kann. Das ist so und auch nicht schlimm. Wenn man Entwickler ist, dann weiß man, wie man es auch anders hinbekommt (Tipp: schau dir mal dazu die Init_3rdparty-Geschichte an, wenn du auf den Link im Paketmanager klicks). Und wenn man Admin ist, dann weiß man auch, wie man solche Optionen beim Aufruf eines Datenbank-Servers unterbringt (schau dir mal das Start-Skript für den SQL-Server im Verzeichnis /usr/syno/etc/rc.d an). Und wenn man jemanden supportet möchte, dann will man mit seiner Empfehlung keine Nebeneffekte auslösen, sondern testet es aus, bevor man die Klappe aufmacht ... und das kann schon mal ein Tage dauern ... wenn man dann einen ungeduldigen Kandidaten hat, verliert man schnell die Lust daran. So kommt das eine zum anderen.

Nun hast du ja schon den Tipp mit dem Hineinschreiben der Option beim Aufruf des Servers als Link geschickt bekommen. Und hast den Tipp ausprobiert? Mich würde interessieren, ob er geht. Also Zeile 14 wäre zu ergänzen in der Datei /usr/syno/etc/rc.d/S21mysql.sh:

Rich (BBCode):
MYSQL_ARGS="--max_allowed_packet=8M --SET-lower_case_table_names=2"
Itari

PS. Mein AdminTool schreibt sich zusammen in einem Wort :)
 

Don Claus

Benutzer
Mitglied seit
11. Aug 2009
Beiträge
34
Punkte für Reaktionen
0
Punkte
6
Danke

Full ack :)
Entwickle immer so als wäre es case-sensitive

Gruss

tobi

Hallo jahlives,

nur zur Info und völlig wertfrei. Derzeit entwickle ich nicht selber.
Seinerzeit, vor dem beschriebenem Update, nutzte ich eine gekaufte SQL Datenbank unter Windoof. Nach dem Update war diese unbrauchbar. Gott sei Dank hatte ich eine Datenbank gleicher Funktion, die nicht unter SQL läuft.
Ich habe also keinen Einfluss auf die Programmierung der DB. Der Programmierer sagt, dass eine Anpassung zu Aufwendig ist, was ich bei dem Umfang nachvollziehen kann.

Wenn ich versehentlich jemandem auf den Schlips gelatscht bin, tut mir das leid und nehmt bitte meine Entschuldigung an.
Ich hatte das Thema bereits kurz nach dem damaligen Update hier eingestellt und nur Verweise auf die mysql Doku bekommen. Aus Zeitmangel bin ich nicht dran geblieben. Nun haben aber andere das gleiche Problem hier eingestellt und ich habe noch einmal nachgehakt, letztendlich unter dem Gedanken, wenn bei einem Update per Abfrage case sensitive aktiviert wird, muss es auch genau so einfach rückgängig gemacht werden können.

Das war mein Gedanke und Motiv.

Danke noch einmal für die Hilfen, ich werde es hoffentlich in der nächsten Woche schaffen, die Tipps auszuprobieren.

Grüsse
 

Don Claus

Benutzer
Mitglied seit
11. Aug 2009
Beiträge
34
Punkte für Reaktionen
0
Punkte
6
Wir sind ein 'nettes' Forum, nur ab und zu gibts Leute wie dich, die quengeln sofort herum, wenn sie auf ihre Frage nicht sofort und gleich eine Antwort bekommen.

Danke itari und sorry das der Eindruck aufgekommen ist, ich würde quengeln.
Ich ärgere mich nur erst seit dem damaligen Update ! Wenn das nicht lange genug ist.
Ansonsten Danke für den Tipp.
Gruss
Claus
 

Don Claus

Benutzer
Mitglied seit
11. Aug 2009
Beiträge
34
Punkte für Reaktionen
0
Punkte
6
Rich (BBCode):
MYSQL_ARGS="--max_allowed_packet=8M --SET-lower_case_table_names=2"

Hallo itari
ich habe den Befehl geändert. Zwischen 8M und --Set hast du ein Leerzeichen.
Das führt zu einer Fehlermeldung. Ohne fährt der Server wieder hoch.

Werde morgen die DB installieren und versuchen, diese anzusprechen.

Danke erst einmal, ich informiere.

Grüsse

Claus
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Hallo itari
ich habe den Befehl geändert. Zwischen 8M und --Set hast du ein Leerzeichen.
Das führt zu einer Fehlermeldung. Ohne fährt der Server wieder hoch.

Werde morgen die DB installieren und versuchen, diese anzusprechen.

Danke erst einmal, ich informiere.

Grüsse

Claus

Vielleicht kann man es so schreiben:

MYSQL_ARGS="--max_allowed_packet=8M --lower_case_table_names=2"

Itari
 

BaphometX

Benutzer
Mitglied seit
20. Apr 2010
Beiträge
1
Punkte für Reaktionen
0
Punkte
0
GELÖST - Diskstation/lower_case_table_names/MySQL

Vielleicht kann man es so schreiben:

MYSQL_ARGS="--max_allowed_packet=8M --lower_case_table_names=2"

Itari


Hallo zusammen!

nachdem ich nun auch genau dieses Problem hatte und meine Applikation auf die MySQL DB aufgrund Groß/Kleinschreibung nicht zugreifen konnte, habe ich mich nach einer Lösung umgesehen. Aber erstmal die Umgebung zum aktuellen Stand (der Thread ist ja auch schon etwas älter):
Synology Diskstation 211j / Version: DSM 3.1-1742 / Datum des Builds: 2011/06/08

Als einzige konkrete Lösungsbeschreibung habe ich diesen Thread hier gefunden. Neben den normalen MySQl Howto's findet man sonst leider nichts in Kombination von "lower_case_table_names" und der Synology DSM MySQL Datenbank.

LEIDER funktioniert diese hier beschriebene Lösung nicht!! Und leider hat sich der Kollege auch nicht mehr gemeldet mit einem Feedback.

ABER eine Lösung musste her und ich (in Wirklichkeit ein sehr fähiger Kollege..., ich schreibe nur...) habe eine Lösung gefunden.
Trotz eines sehr holprigen Wegs zur Lösung, liegt diese Lösung doch sehr nahe am Standard-Weg.

Grundsätzlich übernimmt die Diskstation keine weiteren Argumente in Zeile 14 der S21mysql.sh wie z.B. das --lower_case_table_names=2.
Was man hier erstmal wissen muss, wird das durch das Dateisystem der DS (EXT4) die Option "=2" verweigert wird und "=0" gesetzt wird. Nur mit "=1" geht es.

Des weiteren muss "lower_case_table_names" als Option gestartet werden. Nicht durch "--", sondern die Zeile muss wie folgt aussehen:

Rich (BBCode):
MYSQL_ARGS="--max_allowed_packet=8M -O lower_case_table_names=1"

Das war es eigentlich schon. Eigentlich sehr simple. Hat uns nur mal locker 2 Stunden gekostet....
Konfigurationen über irgendwelche my.cnf Dateien sind nicht notwendig. Die werden auch gekonnt ignoriert...

Ich hoffe irgendjemanden mit dieser Lösung geholfen zu haben.

Gruß!

@Itari: Danke für Dein Engagement. Viele Beiträge von Dir haben mir schon geholfen!
 

grunzy

Benutzer
Mitglied seit
30. Nov 2011
Beiträge
1
Punkte für Reaktionen
0
Punkte
1
Hallo BaphometX

vielen Dank für Deine Beschreibung. So läuft es perfekt.

Für alle anderen Neulinge:
Mit folgendem Befehl kann MySQL danach neu gestartet werden
/usr/syno/etc/rc.d/S21mysql.sh restart

CU
 

Frank70

Benutzer
Mitglied seit
17. Feb 2012
Beiträge
62
Punkte für Reaktionen
0
Punkte
6
Hi,

muss dieses Thema nochmal "ausgraben". Bisher (d.h. bis einschließlich DSM 4.3) kam ich mit dem Tipp von BaphometX super klar (DANKE!!!). Nun habe ich die DSM 5.0 installiert welche ja bekanntlich MariaDB mitbringt anstatt MySQL. Hier finde ich die Datei /usr/syno/etc/rc.d/S21mysql.sh nicht mehr. Wo muss man den Code
Code:
MYSQL_ARGS="--max_allowed_packet=8M -O lower_case_table_names=1"
denn nun eingeben?

Grüße
Frank
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat