如何在一个应用程序中使用不同的oracle字符集

时间:2010-01-18 20:47:29

标签: oracle delphi character-encoding

我正在使用Delphi开发32位客户端应用程序。从这个应用程序,我需要连接到两个不同服务器上的数据库。第一个数据库字符集是WE8MSWIN1252,另一个服务器用WE8PC850解码。将客户端NLS_LANG参数设置为正确的值可以解决正确的sql查询结果。

不幸的是,这个(客户端字符集)似乎只能在应用程序启动时识别(首先连接到oracle)。我需要在运行时更改client-characterset。 Oracle客户端似乎存储了用于连接的应用程序的字符集!

旁边:我使用udl文件来设置连接(Microsoft OLE DB - 驱动程序)

我该怎么办?

2 个答案:

答案 0 :(得分:0)

连接到数据库后,您可以使用ALTER SESSION次调用来更改会话级别的设置。

答案 1 :(得分:0)

  

我需要改变   客户端角色在运行时。

为什么?我原以为你在客户端想要的是一个操作环境和最终用户都可以接受的字符集。

选择一个字符集,如UTF-8,让Oracle处理客户端字符集和两个数据库字符集之间的转换。