Sas Netezza的格式?错误信息是数据已损坏

Sas Netezza的格式?错误信息是数据已损坏,sas,netezza,Sas,Netezza,关于我的错误消息,我有以下问题。我尝试先格式化,然后插入到dw中使用 26 proc sql noprint; 27 connect to netezza (user=jfan0001 pwd=Xw9b548s SERVER=bsnet01z database=PDWAPPRP connection=global autocommit=yes); 29 execute ( create temporary table STD

关于我的错误消息,我有以下问题。我尝试先格式化,然后插入到dw中使用

26         proc sql   noprint;
27             connect to netezza  (user=jfan0001 pwd=Xw9b548s SERVER=bsnet01z database=PDWAPPRP  connection=global autocommit=yes);
29             execute ( create temporary table STDY 30                              ( SUB_NUM char(13) )) by netezza;
31             execute ( create temporary table ANTIB 32                              ( NDC char(11) )) by netezza;
33          
34         
35          
36             insert into dw.STDY (bulkload=YES   bl_options='logdir "."') 
37                         select SUB_NUM from pulllist       
38                          where flag='study';


ERROR: The open failed because library member DW.STDY.DATA is damaged.
NOTE: Data file SPARC.PULLLIST.DATA is in a format that is native to another host, or the file encoding does not match the session 
  encoding. Cross Environment Data Access will be used, which might require additional CPU resources and might reduce 
  performance.

可能是表DW.STDY不是在当前主机(服务器/PC)上创建的,而是从其他操作系统复制的,或者是由其他版本的SAS创建的

检查表属性:

proc sql;
select libname, memname, datarep, datarepname, encoding from dictionary.tables
where libname ='DW'
and memname = 'STDY'
;
quit;
如果datarep不是本机的,则必须重新创建表才能对其进行修改。 您可以通过复制到“工作”和“返回DW”等方式重新创建它

proc copy noclone in=DW out=WORK index=yes constraint=yes;
select STDY;
run;

proc copy in=DW out=WORK index=yes constraint=yes;
select STDY;
run;

请注意第一个过程副本中的
NOCLONE
选项,以消除原始数据表示。

请编辑您的问题,并显示
dw
LIBNAME
语句。1)将您的用户名/密码/服务器编辑为匿名。2) Netezza临时表如何工作?这些是全局的,也就是说,在任何会话中都可用,还是在创建它们的会话中都是本地的?如果是后者,则您的
LIBNAME
连接和您的
CONNECT TO NETEZZA
连接在技术上是独立的会话,尽管它们来自同一台PC。在SQL SERVER中,这无法正常工作。STDY是在上面创建的临时表。CEDA警告是关于SPARC.PULLIST的,这可能不是问题(“损坏”位为)。