我试图在CREATE TABLE中导入NexusDB语句。
表名包含一些德语的umlauts,以及一些字段名,但是我收到一个错误,在我的语句中有一些无效的字符(显然是umlauts.)。
我现在的问题是:有人能给我解决问题的办法或想法吗?
仅仅将umlauts更改为类似于ä、->、ae或ö -> oe这样的等价术语并不容易,因为我们的应用程序有固定的每个客户当前使用的表名。
发布于 2016-07-21 00:59:00
在SQL标准中通常允许的内容之外使用字符不是一个好主意。这不仅会在NexusDB中,而且在许多其他数据库中也会对您造成伤害。请特别注意,当您希望通过ODBC等访问数据时,您也很有可能遇到问题,因为其他环境也可能有类似的标准限制。我强烈建议避免对表使用SQL命名标准以外的字符,无论使用的是哪个数据库。
然而..。尽管如此,考虑到NexusDB是程序员最灵活的数据库系统之一(它附带了完整的源代码),已经有了一个解决方案。如果向数据库服务器项目添加“扩展文本”定义,则更大的字符数组被认为是有效的。有关所启用的确切更改,请参见nxllConst.pas单元中的nxllConst.pas常量。如果需要,也可以更改常量。
https://stackoverflow.com/questions/38483023
复制相似问题