![]() | ![]() | ![]() | ![]() | ![]() |
When you use SCL code and you connect to the MySQL database with SAS/ACCESS Interface to MySQL, the SCL code does not pass a formatted date to MySQL. Instead, it passes a number to the database.
If you have two or more WHERE clauses in the SCL, no error is returned but resulting data will not be correct. You can see the problem is you use the SASTRACE= option for tracing, as shown in this example:
29 options sastrace=',,,d' sastraceloc=saslog nostsuffix; 30 /* Execute SCL program */ 31 proc display c=scl.mysql.error.scl; 32 run; MYSQL_1: Executed: on connection 2 SELECT * FROM `_GEDTEST` where (0) dsid=1 rc=0 MYSQL_2: Executed: on connection 2 SELECT `char`, `x` FROM `_GEDTEST` WHERE ( `x` = CAST('2008-01-01' AS DATE) ) rcf=0 rc=-580017 rc=0 MYSQL_3: Executed: on connection 2 SELECT `char`, `x` FROM `_GEDTEST` WHERE ( `x` = 17533 ) rcf=-1
Click the Hot Fix tab in this note to access the hot fix for this issue.
Product Family | Product | System | SAS Release | |
Reported | Fixed* | |||
SAS System | SAS/ACCESS Interface to MySQL | Microsoft Windows 2000 Advanced Server | 9.1 TS1M3 SP4 | |
Microsoft Windows 2000 Datacenter Server | 9.1 TS1M3 SP4 | |||
Microsoft Windows 2000 Server | 9.1 TS1M3 SP4 | |||
Microsoft Windows 2000 Professional | 9.1 TS1M3 SP4 | |||
Microsoft Windows NT Workstation | 9.1 TS1M3 SP4 | |||
Microsoft Windows Server 2003 Datacenter Edition | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
Microsoft Windows Server 2003 Enterprise Edition | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
Microsoft Windows Server 2003 Standard Edition | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
Microsoft Windows XP Professional | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
Windows Vista | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
64-bit Enabled AIX | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
64-bit Enabled HP-UX | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
64-bit Enabled Solaris | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
Linux | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
Linux on Itanium | 9.1 TS1M3 SP4 | 9.2 TS2M2 | ||
Solaris for x64 | 9.1 TS1M3 SP4 | 9.2 TS2M2 |