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?)
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.