我正在尝试CREATE TABLE
在 NexusDB 中导入语句。
表名包含一些德语变音符号,一些字段名称也是如此,但我收到一个错误,指出我的语句中有一些无效字符(显然是变音符号......)。
我现在的问题是:有人可以提供解决方案或任何想法来解决我的问题吗?
将变音符号更改为等价的术语(如ä
->ae
或ö
-> )并不容易,oe
因为我们的应用程序具有每个客户当前使用的固定表名。
在 SQL 标准通常允许的范围之外使用字符不是一个好主意。这不仅会在 NexusDB 中对您造成影响,而且在许多其他数据库中也会如此。请特别注意,当您想通过 ODBC 等访问数据时,您很有可能也会遇到问题,因为其他环境也可能有类似的标准限制。我强烈建议避免使用 SQL 命名标准之外的字符,无论使用哪个数据库。
然而......说了这么多,鉴于 NexusDB 是程序员最灵活的数据库系统之一(它带有完整的源代码),已经有一个解决方案。如果向数据库服务器项目添加“扩展文字”定义,则认为更大的字符数组是有效的。有关此启用的确切更改,请参阅 nxllConst.pas 单元中的 nxcValidIdentChars 常量。如果需要,也可以更改常数。