View previous topic :: View next topic
|
Author |
Message |
rajesh1183
New User
Joined: 07 Jan 2008 Posts: 98 Location: Hyderabad
|
|
|
|
Hi All,
I have a query which I was facing while accessing a DB2 table from SAS program...
I have 2 tables in my environment with names...
1) TAKT_POLICYHOLD_01
2) TAKT_POLICY_EXPIRATION_200811.
I was accessing the DB2 tables in SAS pgm as
Code: |
LIBNAME DB2LIB DB2
SSID=D2A1
DBCONINIT="SET CURRENT SQLID='WGAK713'";
PROC CONTENTS DATA=DB2LIB.TAKT_POLICYHOLD_01;
RUN;
PROC CONTENTS DATA=DB2LIB.TAKT_POLICY_EXPIRATION_200811;
RUN;
|
I was able to retreive the data about the 1st table whereas when the 2nd table is accessed, I receive an error in the below format...
"The file DB2LIB.TAKT_POLICY_EXPIRATION_200811.DATA has too long a member name for the DB2LIB library.
Even when the 2nd table is used using the PROC SQL statement, I was receiving the same error... Can you give me any clue what went wrong...??
I have tried using named literal style also...i.e.,
"TAKT_POLICY_EXPIRATION_200811"n. Even then I face the same error...
Your help will be highly appreciated.... |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
Quote: |
"The file DB2LIB.TAKT_POLICY_EXPIRATION_200811.DATA has too long a member name for the DB2LIB library. |
Isn't the above error message just a smidge of a give away ?
The name is too long, therefor it exceeds the maximum allowable length for a name. |
|
Back to top |
|
|
rajesh1183
New User
Joined: 07 Jan 2008 Posts: 98 Location: Hyderabad
|
|
|
|
Actually its a DB2 table name, I am accessing but not a variable name... I think DB2 table can have a max of 32 characters length as its name. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
I guess that you have the following option set >> VALIDVARNAME=V7
And you get the same result from PROC SQL ? I can sort of see that PROC CONTENTS might append a .DATA on the end as it expects a DATA file as input.
Can you post the PROC SQL |
|
Back to top |
|
|
rajesh1183
New User
Joined: 07 Jan 2008 Posts: 98 Location: Hyderabad
|
|
|
|
Below is the code... Whereever I use this table name, I am receiving the same error. and I am not using any option called VALIDVARNAME=V7, becoz the default would be V7 only....
Code: |
PROC SQL;
UPDATE DB2LIB.TAKT_POLICY_EXPIRATION_200811
SET EXP_DT = SUBSTR(SYSPARM(),2,8)
QUIT; |
|
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
Quote: |
VALIDVARNAME=V7, becoz the default would be V7 only.... |
Really, have you checked ?
It allows names of up to 32 characters. Just something that might help you, that's all. |
|
Back to top |
|
|
rajesh1183
New User
Joined: 07 Jan 2008 Posts: 98 Location: Hyderabad
|
|
|
|
The manuals say, the default is V7. Since I haven't mentioned this in the OPTIONS statement, I think, the default would be in effective.
Search this link SAS website
with string as "VALIDVARNAME= System Option"
Can I know the process for checking the default system options that my SAS pgm is using...?? |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
PROC OPTIONS; |
|
Back to top |
|
|
|