由于编码,Netezza仅部分导入表

时间:2018-08-10 13:39:22

标签: import netezza csv-import

通过代码将csv文件导入Netezza有两个问题:

  1. ENCODING参数存在问题。我尝试导入的表包含国家字符,因此选择了“内部”选项。如果nvarchar列中的属性包含常规字符,则将导入整行。一旦导入达到实际​​的nvarchar名称,导入就会停止,从而使表未完全导入。为了解决该问题,随后都选择了选项'utf-8'和'utf8',但是这两个选项均未导致完全导入。
  2. 该过程令人担忧的部分是netezza的Aginity Workbench编辑器不会发出错误!它将工作视为“成功”。这是一个严重的缺陷,因为它需要手动检查导入是否确实成功。

我希望有人可以帮助我解决这个问题。应该使用什么编码?为什么netezza不将其视为错误?可能是因为使用了MAXERRORS参数吗?没有MAXERRORS参数,什么也不会导入。

下面的代码

CREATE TABLE table AS 
   SELECT
         NULL::INTEGER AS one,
         NULL::NATIONAL CHARACTER VARYING(10) AS two, 
         NULL::NATIONAL CHARACTER VARYING(30) AS three, 
         NULL::DATE AS four, 
         NULL::DOUBLE AS five
   DISTRIBUTE ON RANDOM;
INSERT INTO table
   SELECT
         *
   FROM EXTERNAL 'C:\file.csv'
   USING (
         REMOTESOURCE 'ODBC'
         DELIMITER '\t'
         MAXERRORS 100000
         SKIPROWS 1
         DATESTYLE 'DMY'
         DATEDELIM '.'
         ENCODING 'internal' 
   );

0 个答案:

没有答案