The SAS/ACCESS Interface to ODBC product may return incorrect values for DBMS tables with multiple DATE columns. Any row which has a NULL value in a DATE column will cause any subsequent DATE column in that row to be interpreted incorrectly. This problem will occur when querying data with the PROC SQL Pass-Through (this includes the Query window). It can also occur with the new LIBNAME engine if you have specified ROWSET_SIZE=0 on your LIBNAME statement (this is NOT the default value). You can download a module from the SAS web site that will address this problem for SAS Version 7. The new module and README can be found at: http://www.sas.com/techsup/download/maint/access/odbc/AIXR/7.00 The files you will need to download in BINARY format are: sasioodb.datefix sasioodb.datefix.README (the README contains the instructions) Before you download the new modules, make a backup copy of your current sasioodb file: mv !SASROOT/sasexe/dbi/sasioodb !SASROOT/sasexe/dbi/sasioodb.datebroke Then, download the sasioodb.datefix and sasioodb.datefix.README files into the !SASROOT/sasexe/dbi directory. You will then need to rename the sasioodb.datefix module to sasioodb: cd !SASROOT/sasexe/dbi mv sasioodb.datefix sasioodb chmod 755 sasioodb You should then be able to run your SAS/ACCESS TO ODBC programs. Below is an example of a test program that would confirm that the fix had been applied correctly. This example uses an ODBC connection to Oracle. If you are using a different database, you would need to modify your test accordingly: /* This uses the new libname engine to associate the libref with the qeor72 ODBC dsn that I have defined in my .odbc.ini file */ libname dblib sasioodb user="scott" password=tiger ds=qeor72; /* This creates a test Oracle table in the above qeor72 Oracle instance */ data dblib.y2ktmp; INPUT x DATE2 DATE9. DATE3 DATETIME18.; FORMAT DATE2 DATE9. DATE3 DATETIME21.; cards; 1 15mar199815mar1998:01:02:30 . 31dec199931dec1999:01:02:30 3 01jan200001jan2000:01:02:30 4 . 25feb2000:01:02:30 5 01mar200001mar2000:01:02:30 ; run; /* This PROC SQL PASS THROUGH pulls the data from the Oracle table I created above to make sure all the dates I entered are returned properly. If the fix has been applied correctly, your date values should come back correctly. */ proc sql; connect to odbc ( uid="scott" pwd=tiger dsn=qeor72 ); select * from connection to odbc (select * from Y2KTMP); disconnect from odbc; quit; The above PROC SQL should return the following data: X DATE2 DATE3 1 15MAR1998:00:00:00 15MAR1998:01:02:30 . 31DEC1999:00:00:00 31DEC1999:01:02:30 3 01JAN2000:00:00:00 01JAN2000:01:02:30 4 . 25FEB2000:01:02:30 5 01MAR2000:00:00:00 01MAR2000:01:02:30 If you have any problems applying this fix, please contact SAS Technical Support and reference SAS Note V7-Engine-0407. You can reach us by email at support@sas.com or by phone at (919)677-8008.