Delphi Firedac - 案例敏感问题

Mar*_*uza 12 sql-server delphi firedac

我正在尝试将我的应用程序从ADO迁移到FireDAC.我正在使用Microsoft SQL Server.我的数据库服务器安装了排序规则SENSITIVE CASE,数据库是使用排序规则INSENSITIVE CASE创建的.我做了这个配置,因为我的客户有这个配置.但是当我尝试迁移到FireDAC时,FireDAC驱动程序(MSSQL)查看数据库排序规则并将属性"数据库名称"更改为大写.之后,很多事情都没有用,因为FireDAC没有在sysdatabase中找到"数据库名称".我可以关闭此功能来更改"数据库名称"属性吗?

Tun*_*ğlu 0

我发现 FireDAC 使用 ansi 大写转换来访问数据库,这反过来又导致 MSSQL 出现问题。就我而言,它是土耳其语。我发现修复很容易。在OnBeforeConnect我使用的 TFDConnection 中:

\n\n
Params.Database := TRUpperCase(Params.Database);\n
Run Code Online (Sandbox Code Playgroud)\n\n

哪里TRUpperCase有一个函数可以正确地将土耳其语字符转换为大写(例如 i 转换为 \xc4\xb0,而不是 i 转换为 I)。

\n