我正在尝试将数据从Oracle数据库插入PostgreSQL。 在Oracle数据库中,标准语句取得了成功:
insert into "schema"."table"@dblink values (2, 'test');
但是当我在"test"旁边添加像"²"这样的特殊字符时,它返回了错误:
插入到"架构"中。表"@dblink值(2,"测试²"(; ORA-28500:从 ORACLE 到非 Oracle 系统的连接返回了以下消息: 错误:编码"UTF8"的字节序列无效:0xbf; 执行查询 {22021,NativeErr = 7} 时出错 ORA-02063:来自数据库链接的前 3 行
我想这与语言"UTF8"兼容性有关,但我不知道在哪里修复它。我希望我的问题很清楚 - 对不起,语言不当。
0xbf
是ISO-8859-1¿
,在各种其他ISO-8859编码中,它是ż
,ŋ
,П
,؟
,Ώ
,ฟ
,æ
,ṡ
。我不知道你的Oracle系统正在使用什么编码,或者它用什么编码将数据发送到PostgreSQL,但看起来Oracle正在以UTF-8以外的某种编码发送PostgreSQL数据,但告诉PostgreSQL它是UTF-8编码的。
尝试将 PostgreSQL 连接字符串中的client_encoding
设置为 Oracle 数据库的编码。或者通过 ODBC 配置设置编码,或者通过设置"Oracle 到postgres"连接的方式设置编码。