我们正在将我们的应用程序升级到完全的Unicode兼容性,因为我们最近获得了开箱即用的Delphi 2009。我正在寻找任何有升级应用程序以接受Unicode字符的人。具体回答以下任何问题。
ps我们还需要升级我们的Oracle代码
答案 0 :(得分:1)
Oracle不要求您使用nvarchar
来存储Unicode字符串 - 可以将服务器配置为以UTF-8存储varchar2
。如果您之前只支持ASCII,则它应该是透明的。这应该可以防止'
到N'
的所有应用程序端搜索和替换的需要。
至于达米恩的观点:它现在可能对您没有帮助,但您应该优先考虑摆脱非参数化查询。从维护,性能和安全角度来看,它们只不过是对系统的拖累。
答案 1 :(得分:1)
明显的SQL Server是nchar / nvarchar的限制是其char / varchar对应物的一半(除非你将所有内容> 4000迁移到nvarchar(max))
答案 2 :(得分:0)
我不确定你的答案有多有用。我们有大量700,000行编译的代码库,这些代码库是在过去十年中编写的,其中包含大量的SQL查询。大多数标准化为一些函数,这些函数是数据库上大多数更新的基础。这些可以非常简单地更新。但是,我们还需要检查CustomerName ='%s'的每个where子句,现在应该是CustomerName = N'%s'
这是一个真正的问题需要一个真正的答案。