2017-08-18 89 views
0

我试图从Oracle数据库插入数据到PostgreSQL。 在Oracle数据库,这是成功的标准声明:如何从oracle数据库到postgreSQL插入符号/字符(例如:'²'或其他语言符号)

insert into "schema"."table"@dblink values (2, 'test'); 

但是,当我说像“²”旁边的“测试”特殊字符,它返回的错误:

insert into "schema"."table"@dblink values (2, 'test²'); ORA-28500: connection from ORACLE to a non-Oracle system returned this message: ERROR: invalid byte sequence for encoding "UTF8": 0xbf; Error while executing the query {22021,NativeErr = 7} ORA-02063: preceding 3 lines from dblink

我想这与语言“UTF8”兼容性有关,但我不知道要在哪里修复它。我希望我的问题很明确 - 对不适当的语言感到抱歉。

回答

0

0xbf是ISO-8859-1 ¿,和其他各种ISO-8859编码,这是żŋП؟Ώæ。我不知道你的Oracle系统使用的是什么编码,或者它将数据发送到PostgreSQL的编码是什么,但它看起来像Oracle以非UTF-8编码发送PostgreSQL数据,但告诉PostgreSQL它是UTF-8编码的。

尝试将PostgreSQL连接字符串中的client_encoding设置为Oracle数据库的编码。或者通过ODBC配置设置编码,或者设置Oracle到Postgres的连接。

相关问题