Sql 使用德国umlauts在NexusDB中创建表?

Sql 使用德国umlauts在NexusDB中创建表?,sql,nexusdb,Sql,Nexusdb,我正在尝试在NexusDB中导入创建表语句。 表名包含一些德语umlauts和一些字段名,但我收到一个错误,在我的语句中有一些无效字符(显然是umlauts…) 我现在的问题是:有人能给出一个解决方案或任何想法来解决我的问题吗 仅仅将umlauts更改为类似于ä->ae或ö->oe的等价术语并不容易,因为我们的应用程序目前每个客户都使用固定的表名。在SQL标准中通常允许的范围之外使用字符不是一个好主意。这不仅会影响到NexusDB,还会影响到许多其他数据库。请特别注意,当您希望通过ODBC等访问

我正在尝试在NexusDB中导入
创建表
语句。
表名包含一些德语umlauts和一些字段名,但我收到一个错误,在我的语句中有一些无效字符(显然是umlauts…)

我现在的问题是:有人能给出一个解决方案或任何想法来解决我的问题吗


仅仅将umlauts更改为类似于
ä
->
ae
ö
->
oe
的等价术语并不容易,因为我们的应用程序目前每个客户都使用固定的表名。

在SQL标准中通常允许的范围之外使用字符不是一个好主意。这不仅会影响到NexusDB,还会影响到许多其他数据库。请特别注意,当您希望通过ODBC等访问数据时,很可能也会遇到问题,因为其他环境也可能有类似的标准限制。我强烈建议避免在表的SQL命名标准之外使用字符,无论使用哪个数据库


然而。。。话虽如此,考虑到NexusDB是程序员最灵活的数据库系统之一(它有完整的源代码),已经有了一个解决方案。如果将“extendedliterals”定义添加到数据库服务器项目中,则认为较大的字符数组是有效的。有关这将启用的确切更改,请参阅nxllcont.pas单元中的nxcValidIdentChars常量。如果需要,常数也可以更改。

谢谢您的回答!这是我已经告诉我们的客户的,但正如我之前所说的:这些表已经存在于各种客户数据库中,并具有相同的名称“解决方案”。我们现在尝试在代码中映射表名。