我有一堆存储过程使用RAISERROR
返回客户端C#应用程序的某些业务逻辑错误消息,现在我想知道是否有一种方法可以用类似的方式本地化这些消息。净。这些消息可以以某种方式进行本地化,还是必须使用“主要”语言进行硬编码?
附带问题:我有一个包含带字符串的资源文件的.NET类库。我可以使用SQL Server 2005中的这个DLL并从该资源文件中检索这些错误消息吗?
答案 0 :(得分:2)
SQL Server具有许多语言/区域设置的内置系统消息的本地化。
对于您自己的自定义消息,您必须在应用层中捕获并翻译它们。
可能可以使用SQL Server 2005中的.NET dll并使用CLR存储过程从该资源文件中检索这些错误消息,但我不建议这样做(它具有权限/部署)坦率地说最好避免的含义)。
答案 1 :(得分:0)
Mitch表示内置消息已本地化。他没有提到您可以为自己的消息使用相同的本地化系统。 sp_addmessage允许您添加新消息(并指定语言)。
然后使用使用消息编号的RAISERROR
版本,而不是消息文本。