From: =?ISO-8859-1?Q?Daniel_Fern=E1ndez?= on
hi,
Perhaps it is due to user permissions (you are not able to sort it).

Try this and tell me if it is OK:

Proc sort data=abc.customer out=TEST ;
by customerid;run;


Daniel Fernandez.
Barcelona.


2010/1/18 Tina Shaw <xtina.shaw7(a)gmail.com>:
> Hi,
>
> I get weird SAS I/O error from time to time. Here is an example.
>
> First I created a sas dataset "customer.sas7bdat" in library abc. It has
> 8545476 observations and 3 numeric variables.
>
> Next I sorted it. The code is really simple.
> Proc sort data=abc.customer;by customerid;run;
> Then it returned error message saying "ERROR: An I/O error has occurred on
> file ABC.CUSTOMER.DATA".
>
> I thought probably it's something related to the memory even though the sas
> dataset is not really huge. Therefore I tried
> data inv01;
> set abc.customer (firstobs=1 obs=100);
> run;
> And it worked, I got inv01.sas7bdat.
>
> After this, I re-do the proc sort on abc.customer. Sometime the I/O error
> will disappear and everything is back to normal. Sometime it's just dead.
>
> The worse time is after I run library abc "whatever/whatever";
> Then just right click on the the customer.sas7bdat icon to see the
> properties, it returns the I/O error message.
>
> This has happened many times. The I/O error is on and off from time to time,
> but I could not figure out when it comes back and when it is gone. BTW,
> that's not a shared library so it's impossible that another user is touching
> the dataset while I am running my code. The size of the library folder is
> growing as the customer base is growing, but not dramatically from day to
> day.
>
> My SAS version is 9.1.3.
>
> Could someone help me with this puzzle?
>
> Thank you in advance!
>
> Tina
>
From: Tina Shaw on
No, I still get the I/O error even when putting the output into work
library.

Tina


On 1/18/10, Daniel Fern=E1ndez <fdezdan(a)gmail.com> wrote:
>
> hi,
> Perhaps it is due to user permissions (you are not able to sort it).
>
> Try this and tell me if it is OK:
>
> Proc sort data=3Dabc.customer out=3DTEST ;
> by customerid;run;
>
>
> Daniel Fernandez.
> Barcelona.
>
>
> 2010/1/18 Tina Shaw <xtina.shaw7(a)gmail.com>:
> > Hi,
> >
> > I get weird SAS I/O error from time to time. Here is an example.
> >
> > First I created a sas dataset "customer.sas7bdat" in library abc. It ha=
s
> > 8545476 observations and 3 numeric variables.
> >
> > Next I sorted it. The code is really simple.
> > Proc sort data=3Dabc.customer;by customerid;run;
> > Then it returned error message saying "ERROR: An I/O error has occurred
> on
> > file ABC.CUSTOMER.DATA".
> >
> > I thought probably it's something related to the memory even though the
> sas
> > dataset is not really huge. Therefore I tried
> > data inv01;
> > set abc.customer (firstobs=3D1 obs=3D100);
> > run;
> > And it worked, I got inv01.sas7bdat.
> >
> > After this, I re-do the proc sort on abc.customer. Sometime the I/O err=
or
> > will disappear and everything is back to normal. Sometime it's just dea=
d.
> >
> > The worse time is after I run library abc "whatever/whatever";
> > Then just right click on the the customer.sas7bdat icon to see the
> > properties, it returns the I/O error message.
> >
> > This has happened many times. The I/O error is on and off from time to
> time,
> > but I could not figure out when it comes back and when it is gone. BTW,
> > that's not a shared library so it's impossible that another user is
> touching
> > the dataset while I am running my code. The size of the library folder =
is
> > growing as the customer base is growing, but not dramatically from day =
to
> > day.
> >
> > My SAS version is 9.1.3.
> >
> > Could someone help me with this puzzle?
> >
> > Thank you in advance!
> >
> > Tina
> >
>
From: Michael Raithel on
Dear SAS-L-ers,

Tina Shaw posted the following:

> Hi,
>
> I get weird SAS I/O error from time to time. Here is an example.
>
> First I created a sas dataset "customer.sas7bdat" in library abc. It
> has
> 8545476 observations and 3 numeric variables.
>
> Next I sorted it. The code is really simple.
> Proc sort data=abc.customer;by customerid;run;
> Then it returned error message saying "ERROR: An I/O error has occurred
> on
> file ABC.CUSTOMER.DATA".
>
> I thought probably it's something related to the memory even though the
> sas
> dataset is not really huge. Therefore I tried
> data inv01;
> set abc.customer (firstobs=1 obs=100);
> run;
> And it worked, I got inv01.sas7bdat.
>
> After this, I re-do the proc sort on abc.customer. Sometime the I/O
> error
> will disappear and everything is back to normal. Sometime it's just
> dead.
>
> The worse time is after I run library abc "whatever/whatever";
> Then just right click on the the customer.sas7bdat icon to see the
> properties, it returns the I/O error message.
>
> This has happened many times. The I/O error is on and off from time to
> time,
> but I could not figure out when it comes back and when it is gone. BTW,
> that's not a shared library so it's impossible that another user is
> touching
> the dataset while I am running my code. The size of the library folder
> is
> growing as the customer base is growing, but not dramatically from day
> to
> day.
>
> My SAS version is 9.1.3.
>
> Could someone help me with this puzzle?
>
> Thank you in advance!
>
Tina, I liked Daniel's suggestion, and lament that it did not work!

Perhaps you have a damaged SAS data set (abc.customer). Consider doing the following:

Options msglevel=I;

proc datasets library=abc nolist;
repair customer;
run;

....to repair your SAS data set. See if that works!

Tina, best of luck in all of your SAS endeavors!


I hope that this suggestion proves helpful now, and in the future!

Of course, all of these opinions and insights are my own, and do not reflect those of my organization or my associates. All SAS code and/or methodologies specified in this posting are for illustrative purposes only and no warranty is stated or implied as to their accuracy or applicability. People deciding to use information in this posting do so at their own risk.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Michael A. Raithel
"The man who wrote the book on performance"
E-mail: MichaelRaithel(a)westat.com

Author: Tuning SAS Applications in the MVS Environment

Author: Tuning SAS Applications in the OS/390 and z/OS Environments, Second Edition
http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=1&pc=58172

Author: The Complete Guide to SAS Indexes
http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=1&pc=60409

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
In the fight between you and the world, back the world. - Paul Dirac
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
From: Tina Shaw on
Even the proc datasets repair sometime works, sometime doesn't. I suspect
it's something related to the space. I tried to win-zip the sas dataset and
got a message from wnzip "Error: Input file read failure".

The explanation from company's IT help desk is even though I am the only
person using the folder, the drive is a shared drive. When the drive is
short of resource (which is the case recently), and when many people are
trying to access it, I may experience I/O failure. So whether the I/O error
pops out or not depends on how many people are using that shared drive.

Maybe ... so I probably need another saving space.

Thank you very much for your help!

Tina


On 1/18/10, Michael Raithel <michaelraithel(a)westat.com> wrote:
>
> Dear SAS-L-ers,
>
> Tina Shaw posted the following:
>
> > Hi,
> >
> > I get weird SAS I/O error from time to time. Here is an example.
> >
> > First I created a sas dataset "customer.sas7bdat" in library abc. It
> > has
> > 8545476 observations and 3 numeric variables.
> >
> > Next I sorted it. The code is really simple.
> > Proc sort data=abc.customer;by customerid;run;
> > Then it returned error message saying "ERROR: An I/O error has occurred
> > on
> > file ABC.CUSTOMER.DATA".
> >
> > I thought probably it's something related to the memory even though the
> > sas
> > dataset is not really huge. Therefore I tried
> > data inv01;
> > set abc.customer (firstobs=1 obs=100);
> > run;
> > And it worked, I got inv01.sas7bdat.
> >
> > After this, I re-do the proc sort on abc.customer. Sometime the I/O
> > error
> > will disappear and everything is back to normal. Sometime it's just
> > dead.
> >
> > The worse time is after I run library abc "whatever/whatever";
> > Then just right click on the the customer.sas7bdat icon to see the
> > properties, it returns the I/O error message.
> >
> > This has happened many times. The I/O error is on and off from time to
> > time,
> > but I could not figure out when it comes back and when it is gone. BTW,
> > that's not a shared library so it's impossible that another user is
> > touching
> > the dataset while I am running my code. The size of the library folder
> > is
> > growing as the customer base is growing, but not dramatically from day
> > to
> > day.
> >
> > My SAS version is 9.1.3.
> >
> > Could someone help me with this puzzle?
> >
> > Thank you in advance!
> >
> Tina, I liked Daniel's suggestion, and lament that it did not work!
>
> Perhaps you have a damaged SAS data set (abc.customer). Consider doing the
> following:
>
> Options msglevel=I;
>
> proc datasets library=abc nolist;
> repair customer;
> run;
>
> ...to repair your SAS data set. See if that works!
>
> Tina, best of luck in all of your SAS endeavors!
>
>
> I hope that this suggestion proves helpful now, and in the future!
>
> Of course, all of these opinions and insights are my own, and do not
> reflect those of my organization or my associates. All SAS code and/or
> methodologies specified in this posting are for illustrative purposes only
> and no warranty is stated or implied as to their accuracy or applicability.
> People deciding to use information in this posting do so at their own risk.
>
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> Michael A. Raithel
> "The man who wrote the book on performance"
> E-mail: MichaelRaithel(a)westat.com
>
> Author: Tuning SAS Applications in the MVS Environment
>
> Author: Tuning SAS Applications in the OS/390 and z/OS Environments, Second
> Edition
> http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=1&pc=58172
>
> Author: The Complete Guide to SAS Indexes
> http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=1&pc=60409
>
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> In the fight between you and the world, back the world. - Paul Dirac
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>
From: Proc Me on
Tina,

I've a few questions and a suggestion!

What system is SAS running on, is it Windows? Do you have a connection to a
server, if so, what and where? Is your work directory specified as a
location on a drive that is itself low on disk space, is this work drive
shared? Is there a value for the system option utilloc? Are the paths for
work and utilloc, if relevant, valid?

The reason I ask is that I came across this note in the SAS knowledge base:
http://support.sas.com/kb/12/135.html

Sorting may create temporary files either in work, or in utilloc, and it may
be that you are experiencing errors due to congestion here, rather than in
the drive that the libname abc points to. The failure to sort into a dataset
in work would be consistent with insufficient space in work, as might the
proc datasets behaviour.

You can write the pathname of work (in Windows) to the SAS log using

%put %sysfunc(pathname(work));

It may be that you need another work space, rather than another saving space.

Proc Me

PS: If you are looking at work spaces, you might as well check to see if
there are orphaned work directories from abended SAS sessions taking up
space unnecessarily.

PPS: Consider using the tagsort option of the proc sort statement to reduce
the size of temporary files when sorting, specifying an out= dataset for
testing purposes, and specifying compress=binary to reduce file sizes, if
these are not familiar.