BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
ftenorio
Fluorite | Level 6

Hello,

I’m running a SAS 9.4 M5 under Linux and I got an error message while extracting data from a SQLSVR libname (note that I added a obs=1, with obs=0 it works).

 

data error_test;
   set clmcntr2.ccx_historysnapshot_pv (obs=1);
run;
ERROR: The SAS System stopped processing this step because of insufficient memory.

Then I decided to check the DB configuration:

 

proc sql;
connect using clmcntr2 as temp;
select * from connection to temp
(select * from master.sys.configurations);
disconnect from temp;
quit;

 

I get the same error message.


Here is the table’s description:

 

create table CLMCNTR2.ccx_historysnapshot_pv  (

   LoadCommandID num format=20. informat=20. label='LoadCommandID',

   PublicID char(20) format=$20. informat=$20. label='PublicID',

   ClaimNumber char(40) format=$40. informat=$40. label='ClaimNumber',

   PreviousAssignedManager char(1024) format=$1024. informat=$1024. label='PreviousAssignedManager',

   CreateTime num format=DATETIME26.7 informat=DATETIME26.7 label='CreateTime',

   AssignedManagerReference char(1024) format=$1024. informat=$1024. label='AssignedManagerReference',

   PreviousAssignedUser char(1024) format=$1024. informat=$1024. label='PreviousAssignedUser',

   AssignedUserReference char(1024) format=$1024. informat=$1024. label='AssignedUserReference',

   PreviousAssignedManagerName char(1024) format=$1024. informat=$1024. label='PreviousAssignedManagerName',

   UpdateTime num format=DATETIME26.7 informat=DATETIME26.7 label='UpdateTime',

   ClaimId num format=20. informat=20. label='ClaimId',

   AssignedUser num format=20. informat=20. label='AssignedUser',

   ID num format=20. informat=20. label='ID',

   PreviousAssignedUserName char(1024) format=$1024. informat=$1024. label='PreviousAssignedUserName',

   AssignedManager char(1024) format=$1024. informat=$1024. label='AssignedManager',

   AssignedProducer char(1024) format=$1024. informat=$1024. label='AssignedProducer',

   CreateUserID num format=20. informat=20. label='CreateUserID',

   AssignedUserName char(1024) format=$1024. informat=$1024. label='AssignedUserName',

   BeanVersion num format=11. informat=11. label='BeanVersion',

   ArchivePartition num format=20. informat=20. label='ArchivePartition',

   Retired num format=20. informat=20. label='Retired',

   AssignedManagerName char(1024) format=$1024. informat=$1024. label='AssignedManagerName',

   AssignedProducerName char(1024) format=$1024. informat=$1024. label='AssignedProducerName',

   UpdateUserID num format=20. informat=20. label='UpdateUserID',

   PreviousAssignedUserGroup char(1024) format=$1024. informat=$1024. label='PreviousAssignedUserGroup',

   AssignedGroup char(1024) format=$1024. informat=$1024. label='AssignedGroup',

   Type num format=11. informat=11. label='Type',

   PreviousAssignedUserReference char(1024) format=$1024. informat=$1024. label='PreviousAssignedUserReference',

   PrevAssignedManagerReference char(1024) format=$1024. informat=$1024. label='PrevAssignedManagerReference'

  );

If I drop at least 3 columns (char(1024)), I can generate 2 dataset then join them. The goal is to understand why this behavior is happening, as the same codes work in Production and worked before in Development.

 

The same error occurs via Proc SQL pass-through.

options sastrace=',,d,d' sastraceloc=saslog nostsuffix;

proc sql;
connect using clmcntr2 as temp;
Create table ccx_historysnapshot_pv as
select * from connection to temp
(select top 5 * from ccx_historysnapshot_pv);
disconnect from temp;
quit;

(...)

ACCESS ENGINE: DBMS column name: PrevAssignedManagerReference
ACCESS ENGINE: SAS variable name:  PrevAssignedManagerReference
ACCESS ENGINE: SAS [in]format:  $
ACCESS ENGINE: Exiting ptnam
ACCESS ENGINE: Exiting describ with rc=0X00000000
ACCESS ENGINE: Entering fetch
ERROR: The SAS System stopped processing this step because of insufficient memory.

 

 

If you any ideas, it would be very nice 🙂

 

Thanks,

Fernando.

1 ACCEPTED SOLUTION

Accepted Solutions
ftenorio
Fluorite | Level 6

Hello,

 

For information: the SAS Admin told me that, for this given libname, the buffering was limited. He increased this limit and the code is now working.

 

Thanks,

Fernando.

View solution in original post

1 REPLY 1
ftenorio
Fluorite | Level 6

Hello,

 

For information: the SAS Admin told me that, for this given libname, the buffering was limited. He increased this limit and the code is now working.

 

Thanks,

Fernando.

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
Mastering the WHERE Clause in PROC SQL

SAS' Charu Shankar shares her PROC SQL expertise by showing you how to master the WHERE clause using real winter weather data.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 1 reply
  • 1175 views
  • 0 likes
  • 1 in conversation