2016-07-20 8 views
1

Ich versuche, eine CREATE TABLE Anweisung in NexusDB zu importieren.
Der Tabellenname enthält einige deutsche Umlaute und so einige Feldnamen, aber ich erhalte einen Fehler, dass es in meiner Aussage einige ungültige Zeichen gab (offensichtlich die Umlaute ...).Erstellen einer Tabelle in NexusDB mit deutschen Umlauten?

Meine Frage ist jetzt: kann jemand eine Lösung oder irgendwelche Ideen geben, um mein Problem zu lösen?

Es ist nicht so einfach, nur die Umlaute ändern in äquivalente Begriffe wie ä ->ae oder ö ->oe seit unserer Anwendung Tabellennamen festgelegt hat jeder Kunde nutzt derzeit.

Antwort

0

Es ist keine gute Idee, Zeichen außerhalb des SQL-Standards zu verwenden. Dies wird Sie nicht nur in NexusDB, sondern auch in vielen anderen Datenbanken verletzen. Beachten Sie besonders, dass Sie wahrscheinlich auch Probleme haben, wenn Sie auf Daten über ODBC usw. zugreifen möchten, da andere Umgebungen möglicherweise ähnliche Standardeinschränkungen haben. Meine starke Empfehlung wäre, die Verwendung von Zeichen außerhalb des SQL Benennungsstandards für Tabellen zu vermeiden, egal welche Datenbank verwendet wird.

Trotzdem ... Da NexusDB eines der flexibelsten Datenbanksysteme für den Programmierer ist (es kommt mit vollständiger Quelle), gibt es bereits eine Lösung. Wenn Sie Ihrem Datenbankserverprojekt eine Definition "extendedliterals" hinzufügen, wird eine größere Anzahl von Zeichen als gültig betrachtet. Für die genaue Änderung, die aktiviert wird, siehe die nxcValidIdentChars-Konstante in der nxllConst.pas-Einheit. Die Konstante kann bei Bedarf auch geändert werden.

+0

Vielen Dank für die Antwort! das habe ich schon unseren Kunden gesagt, aber wie ich schon sagte: die Tabellen sind bereits in verschiedenen Kunden-dbs mit dem gleichen Namen "Lösung" vorhanden. Wir versuchen jetzt, die Tabellennamen im Code zuzuordnen. – MCelik