Desktop productivity for business analysts and programmers

UTILITY failed

Reply
SAS Employee
Posts: 1

UTILITY failed

Trying to join 2 SAS dataset of 4 columns, around 5 million rows each. Received the error shown in the log below. C drive indicate 355M free space. 16GB is available on D: Drive. Do I need to reconfigure so that EG will use D: drive for temproary files? How would I do that?

Thanks


1 The SAS System 17:55 Wednesday, July 29, 2009

1 ;*';*";*/;quit;run;
2 OPTIONS PAGENO=MIN;
3 LIBNAME EC100008 "C:\Documents and Settings\demowituzi\My Documents\My SAS
3 ! Files\Sept_Event";
NOTE: Libname EC100008 refers to the same physical library as EC100010.
NOTE: Libref EC100008 was successfully assigned as follows:
Engine: V9
Physical Name: C:\Documents and Settings\demowituzi\My Documents\My SAS Files\Sept_Event
4
5 LIBNAME EC100009 "C:\Documents and Settings\demowituzi\My Documents\My SAS
5 ! Files\Sept_Event";
NOTE: Libname EC100009 refers to the same physical library as EC100008.
NOTE: Libref EC100009 was successfully assigned as follows:
Engine: V9
Physical Name: C:\Documents and Settings\demowituzi\My Documents\My SAS Files\Sept_Event
6
7 LIBNAME EC100010 "C:\Documents and Settings\demowituzi\My Documents\My SAS
7 ! Files\Sept_Event";
NOTE: Libname EC100010 refers to the same physical library as EC100009.
NOTE: Libref EC100010 was successfully assigned as follows:
Engine: V9
Physical Name: C:\Documents and Settings\demowituzi\My Documents\My SAS Files\Sept_Event
8
9
10 %LET _CLIENTTASKLABEL=%NRBQUOTE(Query for _905_0907);
11 %LET _EGTASKLABEL=%NRBQUOTE(Query for _905_0907);
12 %LET _CLIENTPROJECTNAME=%NRBQUOTE();
13
14 ODS _ALL_ CLOSE;
NOTE: Some of your options or statements may not be supported with the Activex or Java series of
devices. Graph defaults for these drivers may be different from other SAS/GRAPH device
drivers. For further information, please contact Technical Support.
15 OPTIONS DEV=ACTIVEX;
16 FILENAME EGHTML TEMP;
NOTE: Writing HTML(EGHTML) Body file: EGHTML
17 ODS HTML(ID=EGHTML) FILE=EGHTML ENCODING='utf-8' STYLE=EGDefault
17 ! STYLESHEET=(URL="file:///C:/Program%20Files/SAS/Shared%20Files/BIClientStyles/EGDefault.css
17 ! ") ATTRIBUTES=("CODEBASE"="http://www2.sas.com/codebase/graph/v91/sasgraph.exe") NOGTITLE
17 ! NOGFOOTNOTE GPATH=&sasworklocation;
18
19 %gaccessible;
20 %_eg_conditional_dropds(SASUSER.Query_for__905_0907);
21
22 PROC SQL;
23 CREATE TABLE SASUSER.Query_for__905_0907 AS SELECT _905_0907.DateAndTime
23 ! FORMAT=DATETIME19.,
24 _905_0907.TagIndex,
25 _905_0907.Val
26 FROM EC100008._905_0907 AS _905_0907
27 INNER JOIN EC100009._905_0907 AS _905_09071 ON (_905_0907.TagIndex =
27 ! _905_09071.TagIndex)
28 INNER JOIN EC100010._910_0914 AS _910_0914 ON (_905_0907.TagIndex =
28 ! _910_0914.TagIndex)
29 WHERE _905_0907.TagIndex = 0
2 The SAS System 17:55 Wednesday, July 29, 2009

30 ORDER BY _905_0907.DateAndTime;
ERROR: Write to WORK._tf0056.UTILITY failed. File is full and may be damaged.
NOTE: Error was encountered during utility-file processing. You may be able to execute the SQL
statement successfully if you allocate more space to the WORK library.
ERROR: Insufficient space in file SASUSER.QUERY_FOR__905_0907.DATA.
ERROR: Invalid sequence of commands for file SASUSER.QUERY_FOR__905_0907.DATA.

NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements.
31 QUIT;
NOTE: The SAS System stopped processing this step because of errors.
NOTE: PROCEDURE SQL used (Total process time):
real time 17.07 seconds
cpu time 16.34 seconds

32
33
34
35
36
37
38 %LET _CLIENTTASKLABEL=;
39 %LET _EGTASKLABEL=;
40 %LET _CLIENTPROJECTNAME=;
41
42 ;*';*";*/;quit;run;
43 ODS _ALL_ CLOSE;
44
45
46 QUIT; RUN;
47
Regular Contributor
Posts: 235

Re: UTILITY failed

If SAS is installed on your pc go to the installation folder (c:\program files\sas\sas 9.1) and open the file "sasv9.cfg". Find the line starting with -WORK and edit it.
New Contributor
Posts: 4

Re: UTILITY failed

By updating this, all the utility processing would be done in the new directory, correct?  Therefore, as long as you have sufficient memory in the new work directory, you would not run into insufficient memory errors?

Is there a way to make sure SAS is using the updated work library when first running your program?   The issue is the program I ran took over 6 hours, and the error occurred at the very end.  I want to make sure SAS is using the new work library for utility processing before I re-run the program.

Valued Guide
Posts: 2,111

Re: UTILITY failed

If you wish to just change the location of work for this project (rather than every use of SAS), you can create a LIBNAME called WORK.  That is under the tools tab.

[3/25/12 -- I see from http://communities.sas.com/thread/34003?tstart=0 that my approach (from V8, no longer works).]

Ask a Question
Discussion stats
  • 3 replies
  • 1256 views
  • 0 likes
  • 4 in conversation