可以在连接字符串中设置Oracle编码吗?

时间:2010-10-12 10:39:16

标签: oracle encoding connection-string

我的测试数据库具有AL32UTF8编码,但生产数据库具有WE8ISO8859P1编码。我的应用程序是用.NET编写的,我使用默认的System.Data.OracleClient.OracleConnection类来建立连接。

我创建了一个IDbCommand,当我想用​​非ASCII符号插入一些字符串时,我添加了IDbDataParameter对象。

在测试数据库上一切正常,将.NET的内部字符串格式转换为AL32UTF8正常工作。但是在生产中我只是不起作用。 .NET内部字符串表示形式(即utf16)无法以某种方式转换为WE8ISO8859P1。

我的问题: 你能在连接字符串中指定数据库的编码吗?或者是否有另一种方法告诉驱动程序(System.Data.OracleClient.OracleConnection)数据库是否需要特定的编码?

1 个答案:

答案 0 :(得分:3)

只要您不使用WE8ISO8859P1中无法表示的字符,转换就会自动发生。如果您有这样的字符,则无论如何都无法将其存储在数据库中。

如果你试图存储欧元符号(€),那你就不走运了。它不是WE8ISO8859P1的一部分。