odbc.ini und Sonderzeichen im Pfad
Moin, ich möchte eine odbc-Quelle (Datenbank,SQLite) einrichten Das Problem an der Sache ist, dass der Pfad zur Datei Sonderzeichen und ein Leerzeichen enthält. Der Name sieht in etwa so aus /home/joachim/datenbanken/!Erste Datenbank/Datenbankdatei.db Mir ist es nicht gelungen, das zum Laufen zu bringen. Erst wenn das Sonderzeichen '!' und das Leerzeichen weg sind, kann mit isql die Datenbank geöffnet werden. Ich habe versucht, beides mit einem '\' zu maskieren, bzw. auch in " oder ' zu setzen und nichts hat geholfen. Wie gebe ich denn den Pfad an, damit der Eintrag Database in der Datei .odbc.ini syntaktisch korrekt ist? Joachim PS: Mir ist klar, dass ich den Pfad so ändern könnte, dass das Problem nicht relevant ist. Mir geht es aber hier darum, zu erfahren, wie man solche Pfade korrekt angibt. Das könnte in anderen Fällen nochmal wichtig werden zu wissen.
Hallo Joachim,
/home/joachim/datenbanken/!Erste Datenbank/Datenbankdatei.db
Das Ausrufezeichen müsste eigentlich gehen. Das Leerzeichen wird bei URLs anders gesetzt: /home/joachim/datenbanken/!Erste%20Datenbank/Datenbankdatei.db Gruß Robert -- Homepage: https://www.familiegrosskopf.de/robert
Hallo, wenn das Leerzeichen in der Prozentdarstellung, also %20 dargestellt werden müsste, wäre auch naheliegend, das Ausrufezeichen ebenfalls so zu kodieren, also %21. Ob nu Prozentdarstellung oder nicht, es geht nicht. Bringt mich daher leider nicht weiter. Am 15.06.24 um 17:46 schrieb Robert Großkopf:
Das Ausrufezeichen müsste eigentlich gehen. Das Leerzeichen wird bei URLs anders gesetzt: /home/joachim/datenbanken/!Erste%20Datenbank/Datenbankdatei.db
Am Samstag, dem 15.06.2024 um 14:45 +0200 schrieb Joachim Hussong:
Das Problem an der Sache ist, dass der Pfad zur Datei Sonderzeichen und ein Leerzeichen enthält.
Der Name sieht in etwa so aus
/home/joachim/datenbanken/!Erste Datenbank/Datenbankdatei.db
Mir ist es nicht gelungen, das zum Laufen zu bringen. Erst wenn das Sonderzeichen '!' und das Leerzeichen weg sind, kann mit isql die Datenbank geöffnet werden.
Ich habe versucht, beides mit einem '\' zu maskieren, bzw. auch in " oder ' zu setzen und nichts hat geholfen.
Mit dem einfachen Hochkomma (Shift + Raute-Taste) sollte es aber funktionieren. Bei mir habe ich einen Testfall in der Konsole nachgestellt. Angelegt wurde der Ordner "!Test Ordner" (ohne die Anführungszeichen) unterhalb des Ordners tmp in meinem Homeverzeichnis. Und darin wiederum eine Testdatei.txt mit dem Inhalt "Es funktioniert!". Mit dem Backslash als auch mit den doppelten Anführungszeichen hat es bei mir auch nicht funktioniert auf die Testdatei.txt zuzugreifen. Auch ein Wechsel in den "!Test Ordner" mittels cd wollte nicht. Über die Datei öffnen Dialoge der grafischen Editoren sowie über die Dateimanager jedoch null Problemo. Also habe ich es schließlich noch mit den 'einfachen' Anführungszeichen versucht - und siehe da es tat, wie es tun sollte.
Wie gebe ich denn den Pfad an, damit der Eintrag Database in der Datei .odbc.ini syntaktisch korrekt ist?
Du kannst es entweder einmal in dieser Variante: /home/joachim/datenbanken/'!Erste Datenbank'/Datenbankdatei.db oder aber in selbiger hier: '/home/joachim/datenbanken/!Erste Datenbank/Datenbankdatei.db' versuchen. -- MfG Richi
Am 15.06.24 um 20:30 schrieb Richard Kraut:
Also habe ich es schließlich noch mit den 'einfachen' Anführungszeichen versucht - und siehe da es tat, wie es tun sollte.
Leider nein. Ich hatte das schon probiert. Ich greife ja nicht mit einem Editor oder so zu, sondern der sqlite Treiber sucht sich so die Datenbankdatei aus seiner Konfigurationsdatei. Und dieser scheint das nicht so zu machen wie manch andere Anwendung.
Am 15.06.24 um 20:57 schrieb Joachim Hussong:
Ich greife ja nicht mit einem Editor oder so zu, sondern der sqlite Treiber sucht sich so die Datenbankdatei aus seiner Konfigurationsdatei.
Und dieser scheint das nicht so zu machen wie manch andere Anwendung.
Mal wieder viel zu kompliziert gedacht. Den Pfad einfach so lassen wie er ist, ohne Maskierung. Der Treiber liest den Pfad nicht bis zum ersten Leerzeichen, sondern bis zum Zeilenende und maskiert wenn nötig alles selber. Also nix mit Prozentdarstellung oder mit '\'. Alles gar nicht nötig.
Am 16.06.24 um 20:46 schrieb Joachim Hussong:
Am 15.06.24 um 20:57 schrieb Joachim Hussong:
Ich greife ja nicht mit einem Editor oder so zu, sondern der sqlite Treiber sucht sich so die Datenbankdatei aus seiner Konfigurationsdatei.
Und dieser scheint das nicht so zu machen wie manch andere Anwendung.
Mal wieder viel zu kompliziert gedacht. Den Pfad einfach so lassen wie er ist, ohne Maskierung.
Der Treiber liest den Pfad nicht bis zum ersten Leerzeichen, sondern bis zum Zeilenende und maskiert wenn nötig alles selber.
Also nix mit Prozentdarstellung oder mit '\'. Alles gar nicht nötig.
Hi, wenn sowas gar nicht mag, hilft manchmal auch ein symbolischer Link (ln -s) just my 2 cts -- cu jth
participants (4)
-
Joachim Hussong
-
Jörg Thümmler
-
Richard Kraut
-
Robert Großkopf