0

这有点难以描述,但我会试一试。

我有一些从 SQL Server 2008 中的 UDF 调用的 CLR 代码。主数据库和包含 CLR 代码和 UDF 的数据库具有不同的排序规则。

在 CLR 代码中,我正在操作 varchar 字符串,例如,转换为 byte[] 数组并再次转换回来。

问题是,当再次转换为 byte[] 数组 abd 时,它似乎使用了 Master 数据库的排序规则,尽管正如我所说,CLR 代码和 UDF 完全在应用程序数据库中并且没有参考曾经对主数据库进行过。

有没有办法强制 CLR 代码使用它所属的数据库的排序规则,而不是 Master 数据库?

我希望这很清楚。

谢谢。

4

1 回答 1

0

.Net 中的 System.String 不支持 SQL 排序规则 - 所有字符串都以 Unicode 格式存储,因此您遇到的问题几乎肯定是 byte[] 操作的结果。

于 2013-03-22T11:08:14.377 回答