Tuesday, March 3, 2015

SAS 9.4 crash with MySQL ODBC pass-through queries

SAS 9.4 (TS1M2) on X64_DS08R2 (Windows Server 2008 64-bit) always crashes with certain pass-through queries using MySQL Connector/ODBC 5.3.4. When it crashes, the SAS log shows some red messages, but SAS closes immediately.

The crash is not reproducible with other ODBC drivers, on SAS 9.3 64-bit, or SAS 9.4 32-bit.

Workarounds include: using an ODBC DSN instead of the connection string, not using pass-through queries, or using SAS 9.3.

SAS agreed to fix the bug.

This shows how to procedure it


/* Trace log */
options sastrace=',,d,d' sastraceloc=file 'c:\temp\mytracefile.log';

/* This does not crash */
libname ensembl odbc
    required="Driver={MySQL ODBC 5.3 Unicode Driver};Server=ensembldb.ensembl.org;Database=aedes_aegypti_core_48_1b;Uid=anonymous;interactive=1;";

/* This does not crash */
proc sql;
 create table x as 
    select *
 from ensembl.analysis;
quit;

/* This crashes */
proc sql;
 connect using ensembl;
 create table x as 
    select *
 from connection to ensembl (
            show databases;
        );
quit;

This bug was present in SAS 9.4M2, and it was fixed in SAS 9.4M3.

No comments:

Post a Comment

Estimating token counts from character length

When programatically using an AI chatbot API, it is easy to run up big bills. To avoid this, carefully moniter token usage, but resist the u...