我正在尝试从配置了以下内容的Oracle数据库中提取数据: NLS_CHARACTERSET EE8ISO8859P2 NLS_NCHAR_CHARACTERSET AL16UTF16
我正在使用SSIS 2008 R2 Standard(必须安装Oracle 11g客户端)。一些口音被正确解释(例如:é),但有些口音是奇怪的,我无法找到任何正确的转换方式:(我们的ERP使用Oracle数据库,为世界上许多国家提供服务,这可能解释了字符集选择(我不辩论,如果它是一个好的,我是一个SQL Server的人,而不是Oracle)。
我尝试过不同的方法从Oracle中提取数据,但都没有成功。我以为我可以简单地使用一些东西:
SELECT CONVERT(FIELDNAME,'UTF8','EE8ISO8859P2') FROM xxx
没有成功..在我的ERP中,我可以看到以下值: “modèle”,通过SSIS读取前一个查询的“modcle”。
我觉得除非有一些可以使用的神奇公式,否则我无法获得正确的数据。任何帮助将不胜感激。
谢谢。
答案 0 :(得分:0)
您需要做的就是使用一些ALTER SESSION
命令设置NLS参数。
猜猜您需要更改的参数是NLS_LANG
有关详细信息,请参阅此页:
http://docs.oracle.com/cd/A87860_01/doc/server.817/a76966/ch2.htm
奇怪的是,我今天帮助我的一个队友用瑞典语进行排序。希望它也能帮到你。