使用 CharType GERMAN_VFP_CI_AS_437 加入
我的 dotnet 应用程序通过 sql“join”语句从优势数据库服务器的不同表读取数据时遇到问题。这些表来自旧的 Clipper 应用程序,因此表类型为“ntx”。每个表有一个 *.dbf 和多个 *.ntx 文件。
我使用 dotnet 数据提供程序连接到数据库。 连接字符串:数据源=\PathToDatabase\database.add;密码=*;用户 ID=adssys;CharType=GENERAL_VFP_CI_AS_437;ServerType=REMOTE;LockMode=COMPATIBLE;Shared=True;TableType=NTX;UnicodeCollation =de_DE"
一切正常,直到在sql语句中应用“join”。服务器总是返回一个空表。
如果没有在连接字符串中设置charType,服务器将返回正确的结果。
如何定义“join” " CharType 设置为 GENERAL_VFP_CI_AS_437 的语句?
I've got a problem with my dotnet application reading data from different tables of my advantage database server through a sql "join" statement. The tables are from an old clipper application, so the table type is "ntx". One *.dbf and several *.ntx files for each table.
I use the dotnet data provider to connect to the database.
Connection String: Data Source=\PathToDatabase\database.add;Password=*;User ID=adssys;CharType=GENERAL_VFP_CI_AS_437;ServerType=REMOTE;LockMode=COMPATIBLE;Shared=True;TableType=NTX;UnicodeCollation=de_DE"
Everything works fine until applying a "join" in the sql statement. The server always returns an empty table.
Without setting the charType in the connection string, the server returns the correct result.
How is it possible to define a "join" statement with CharType set to GENERAL_VFP_CI_AS_437?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
VFP 样式排序规则仅支持 ADT 和 VFP 文件格式。 NTX 样式表不支持它们。 这里有一些信息。
不幸的是,当 NTX 表位于字典中(而不是空闲表)时,错误检查似乎被绕过或以某种方式被抑制。查询(无论是否包含联接)应该返回错误(错误代码 7200 和 5025 本机错误)。
为了在 DBF 表中使用该排序规则,需要使用 VFP 表类型。
The VFP-style collations are only supported for ADT and VFP file formats. They are not supported with the NTX style tables. Some information is here.
Unfortunately, it appears that an error check is either being bypassed or suppressed somehow with that usage when the NTX table is in the dictionary (as opposed to a free table). The query (whether or not it includes a join) should be returning an error (error code 7200 with a 5025 native error).
In order to use that collation with a DBF table, it will be necessary to use the VFP table type.