sql server批量复制出/ postgres从infile复制

时间:2010-06-10 20:04:53

标签: sql-server postgresql migration

我正在开始将系统从MS SQL Server转换为Postgres。我转换了表结构,并使用“bcp”从SQL Server中获取数据。

ERROR:  invalid byte sequence for encoding "UTF8": 0x80
HINT:  This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".
CONTEXT:  COPY cm_outgoing, line 200: "200  c:\temp\200.xml 2009-10-10 01:50:44.000 1900-01-01 00:00:00.000"

我已经使用“sed”来删除文件中的NUL(0x00)条目,我在我试图导入的文件中找不到0x80的任何实例。

有什么想法?有更简单的方法吗?

2 个答案:

答案 0 :(得分:2)

看起来麻烦在Windows路径中。我不确定我们是如何达到0x80的,但加倍反斜杠有效。

答案 1 :(得分:0)

您的数据真的是UTF8吗?您是否尝试过将postgresql客户端中的client_encoding设置为Latin1?

set client_encoding = 'latin1';
--do your COPY here