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?)
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.