0

我们已经在我们的 Winform 应用程序中从非托管 Oracle 切换到托管 Oracle,除了一个细节之外,一切都运行良好。如果我将字符串保存"≤"到数据库然后尝试再次检索它,我会"="回来。它以 nvarchar 形式存储,我可以(通过 Toad)看到它实际上保存为"≤". 当我们运行非托管数据访问时,我们使用"NLS_LANG = SWEDISH_SWEDEN.WE8MSWIN1252"了但据我所知,托管驱动程序不支持此功能。托管驱动程序应该使用 .NET 语言环境,并且其中的代码页设置为1252. 有没有人看到这个,也许找到了解决方案?

4

1 回答 1

0

你是对的,ODP.NET Managed Driver 不NLS_LANG敏感。它仅对 .NET 区域设置敏感。

但是,TOAD 不使用 ODP.NET 托管驱动程序,因此您必须NLS_LANG正确设置。如果将其设置为,.WE8MSWIN1252则必须在 Options -> Files -> General -> Default Encoding 中设置为ANSI, resp。在“保存”对话框中设置 ANSI。

于 2016-10-24T12:33:38.870 回答