0

大きな Oracle テーブルを SAS データセットに変換する際に問題に直面しています。私はこれを以前に行い、その方法はうまくいきました。ただし、今回は、次のエラーメッセージが表示されます。

SAS code:

option compress = yes;
libname sasdata ".";
libname myora oracle user=scott password=tiger path=XYZDATA ;
data sasdata.expt_tabl;
   set myora.expt_tabl;
run;

Log file:

You are running SAS 9. Some SAS 8 files will be automatically converted
by the V9 engine; others are incompatible.  Please see
http://support.sas.com/rnd/migration/planning/platform/64bit.html

PROC MIGRATE will preserve current SAS file attributes and is
recommended for converting all your SAS libraries from any
SAS 8 release to SAS 9.  For details and examples, please see
http://support.sas.com/rnd/migration/index.html


This message is contained in the SAS news file, and is presented upon
initialization.  Edit the file "news" in the "misc/base" directory to
display site-specific news and information in the program log.
The command line option "-nonews" will prevent this display.




NOTE: SAS initialization used:
      real time           1.63 seconds
      cpu time            0.03 seconds

1          option compress = yes;
2          libname sasdata ".";
NOTE: Libref SASDATA was successfully assigned as follows:
      Engine:        V9
      Physical Name: /******/dibyendu
3          libname myora oracle user=scott password=XXXXXXXXXX path=XYZDATA ;
NOTE: Libref MYORA was successfully assigned as follows:
      Engine:        ORACLE
      Physical Name: XYZDATA
4          data sasdata.expt_tabl;
5             set myora.expt_tabl;
6          run;

NOTE: There were 6422133 observations read from the data set MYORA.EXPT_TABL.DATA.
ERROR: Expecting page 1, got page -1 instead.
ERROR: Page validation error while reading SASDATA.EXPT_TABL.DATA.
ERROR: Expecting page 1, got page -1 instead.
ERROR: Page validation error while reading SASDATA.EXPT_TABL.DATA.
ERROR: File SASDATA.EXPT_TABL.DATA is damaged. I/O processing did not complete.
NOTE: The data set SASDATA.EXPT_TABL.DATA has 6422133 observations and 49 variables.
ERROR: Expecting page 1, got page -1 instead.
ERROR: Page validation error while reading SASDATA.EXPT_TABL.DATA
ERROR: Expecting page 1, got page -1 instead.
ERROR: Page validation error while reading SASDATA.EXPT_TABL.DATA.
ERROR: Expecting page 1, got page -1 instead.
2                                                          The SAS System                                21:40 Monday, April 1, 2013

ERROR: Page validation error while reading SASDATA.EXPT_TABL.DATA.
ERROR: Expecting page 1, got page -1 instead.
ERROR: Page validation error while reading SASDATA.EXPT_TABL.DATA.
NOTE: Compressing data set SASDATA.EXPT_TABL.DATA decreased size by 78.88 percent.
      Compressed is 37681 pages; un-compressed would require 178393 pages.
ERROR: File SASDATA.EXPT_TABL.DATA is damaged. I/O processing did not complete.
NOTE: SAS set option OBS=0 and will continue to check statements. This might cause NOTE: No observations in data set.
NOTE: DATA statement used (Total process time):
      real time           8:55.98
      cpu time            1:39.33


7

ERROR: Errors printed on pages 1,2.

NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: The SAS System used:
      real time           8:58.67
      cpu time            1:39.40

これは RH Linux サーバーで実行されています。

任意の提案をいただければ幸いです。

よろしくお願いいたします。

4

2 に答える 2

1

これは、サーバーのスペースの問題のようです。あなたのデフォルト ディレクトリのファイル システムの大きさは (あなたのlibname sasdata '.';声明から)? Oracle テーブル参照でデータ セット オプションobs=1を使用して、1 行の新しい SAS データセットを作成し、変数を調べます。

data sasdata.dummy_test;
     set myora.expt_tabl(obs=1);
run;

非常に大きな VARCHAR または BLOB 列があり、スペースを消費しすぎている可能性があります。SAS には VARCHAR 型がないことに注意してください。

于 2013-04-02T16:38:28.523 に答える
0

完全にはわかりませんが、主な問題は、最初にディレクトリにデータセットを作成/書き込みしようとしていたことであり、それは何らかの (?) 意味で制限されていたことだと思います。作成されたデータセットに欠陥があったため、これは間接的に問題を引き起こしていました。他の場所で作成したときは大丈夫でした。

よろしくお願いします。

于 2013-04-03T19:30:29.517 に答える