Problem Note 31117: The MySQL client might run out of memory if a large results set is produced with SAS/ACCESS® Interface to MYSQL
The following error message is written to the SAS log if the MySQL result set does not fit in memory:
ERROR: Open cursor error: MySQL client ran out of memory.
The problem occurs because SAS/ACCESS Interface to MYSQL stores a results set in memory by default.
In SAS/ACCESS Interface to MySQL, the new LIBNAME statement option RESULTS= has been implemented to circumvent this issue. Values for this option are as follows:
- MEMORY—Specifies that the query results should be stored in the client machine's memory. MEMORY is the default value.
- SERVER—Specifies that the query results should be stored on a server. The server must be able to evaluate the entire query. If it cannot evaluate the entire query, the software writes the following message to the log:
In such a case, you should use RESULTS=MEMORY or RESULTS=DISK instead.
- DISK—Specifies that the query results should be stored in a temporary disk file on the client machine. This storage method enables the application to run complex queries with result sets large enough to cause an out-of-memory error. The size of a results set is limited only to the free space on the disk that is used for the temporary file.
Select the Hot Fix tab in this note to access the hot fix for this issue.
Operating System and Release Information
SAS System | SAS/ACCESS Interface to MySQL | Linux | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
64-bit Enabled Solaris | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
64-bit Enabled HP-UX | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
64-bit Enabled AIX | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
Windows Vista | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
Solaris for x64 | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
Linux on Itanium | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
Microsoft Windows XP Professional | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
Microsoft Windows Server 2003 Standard Edition | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
Microsoft Windows Server 2003 Enterprise Edition | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
Microsoft Windows Server 2003 Datacenter Edition | 9.1 TS1M3 SP4 | 9.2 TS1M0 |
Microsoft Windows NT Workstation | 9.1 TS1M3 SP4 | |
Microsoft Windows 2000 Professional | 9.1 TS1M3 SP4 | |
Microsoft Windows 2000 Server | 9.1 TS1M3 SP4 | |
Microsoft Windows 2000 Datacenter Server | 9.1 TS1M3 SP4 | |
Microsoft Windows 2000 Advanced Server | 9.1 TS1M3 SP4 | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
The MYSQL client in SAS/ACCESS Interface to MySQL reads result sets into memory. The following error message is written to the SAS log if the result set does not fit in memory:
ERROR: Open cursor error: MySQL client ran out of memory.
Type: | Problem Note |
Priority: | medium |
Topic: | Data Management ==> Data Sources ==> External Databases ==> MySQL
|
Date Modified: | 2009-11-16 13:00:00 |
Date Created: | 2008-02-06 11:34:42 |