从 Netezza 数据库创建 SAS 数据集时,SAS“CLI 游标扩展提取错误:数值超出范围”

Posted

技术标签:

【中文标题】从 Netezza 数据库创建 SAS 数据集时,SAS“CLI 游标扩展提取错误:数值超出范围”【英文标题】:SAS "CLI cursor extended fetch error: Numeric value out of range" while creating SAS dataset from Netezza Database 【发布时间】:2019-11-20 12:47:03 【问题描述】:

我正在尝试使用 Libname 从 Netezza 表在 WORK 中创建 SAS 数据集,如下所示:

libname  lib1
    netezza
    &_log_host
    server=&_server
    database=&_db
    schema=&_sch
;

这就是我处理表格的方式:

data work.temp;
  set lib1.TBL_NAME(OBS=1);
RUN;

Libname 被完美分配,但是当我运行数据步骤时,它给了我以下错误:

ERROR: CLI cursor extended fetch error: Numeric value out of range

【问题讨论】:

【参考方案1】:

这通常是由于 Netezza 中的列对于 SAS 数值而言太长。如果你能找出是哪一列导致了问题,你可以把它当作一个字符来阅读:

data work.temp;
  set lib1.tbl_name (obs=1 dbsastype=(mycolumn='CHAR(20)'));
run;

https://go.documentation.sas.com/?docsetId=acreldb&docsetTarget=n0v4ma1zb9lu99n1728j279rjcqi.htm&docsetVersion=9.4&locale=en

【讨论】:

以上是关于从 Netezza 数据库创建 SAS 数据集时,SAS“CLI 游标扩展提取错误:数值超出范围”的主要内容,如果未能解决你的问题,请参考以下文章

从 SAS 调用 Netezza 存储过程

Netezza 中的“intck”SAS 类似物

使用 UNIX SAS 确定 Netezza DISTRIBUTE_ON 键

sas9.2 windows7系统 10年11月后 建立永久数据集时,提示:“用户没有与逻辑库相应的授权级别”

sasgrid平台sas程序执行慢

从多个 Z/OS 磁带读取的 SAS 数据集。磁带卷数限制?