Hi - I am unable to understand an error which I am continously getting while running a small code. Actually I am trying to access IBM AS400 table. Here is the code and error description
LIBNAME AS400 ODBC DSN = 'C400'; SYSTEM = TABLE_X SCHEMA=DIRECTORY;
PROC SQL;
Create Table SASUSER.TestRun AS
Select *
FROM AS400.TABLE_X
WHERE Me_ID EQ '0213456'
;
QUIT;
ERROR: CLI prepare error: [IBM][Client Access Express ODBC Driver (32-bit)][DB2/400 SQL]SQL data
type argument out of range.
SQL statement: SELECT * FROM TABLE_X.
On the other hand, when I try to access other table in the same database, it gives me all the desired results.Here is the code:
LIBNAME AS400 ODBC DSN = 'C400'; SYSTEM = TABLE_Y SCHEMA=DIRECTORY;
PROC SQL;
Create Table SASUSER.TestRun AS
Select CDNO, ACLMT, STS, NAME, BAL
FROM AS400.TABLE_Y;
QUIT
The code is same except the table names of the same databse. Please help me to resolve the problem.
thanks
do some debugging using sastrace. SAS/ACCESS(R) 9.4 for Relational Databases: Reference, Third Edition
The error most probably comes from the DB2 ODBC driver.
You might get a clue here:
IBM DB2 10.5 Information Center for Linux, UNIX, and Windows
Maybe the where condition is the culprit (numeric/char conversion?)
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.