The following section details some common errors and their suggested fix or alternative solution. If you are still experiencing problems, use the Connector/ODBC mailing list; see Section 20.1.8.1, “Connector/ODBC Community Support”.
Many problems can be resolved by upgrading your Connector/ODBC drivers to the latest available release. On Windows, you should also make sure that you have the latest versions of the Microsoft Data Access Components (MDAC) installed.
Questions
20.1.7.3.1: 
              I have installed Connector/ODBC on Windows XP x64 Edition
              or Windows Server 2003 R2 x64. The installation completed
              successfully, but the Connector/ODBC driver does not
              appear in ODBC Data Source
              Administrator.
            
20.1.7.3.2: 
              When connecting or using the Test
              button in ODBC Data Source
              Administrator I get error 10061 (Cannot connect
              to server)
            
20.1.7.3.3: 
              The following error is reported when using transactions:
              Transactions are not enabled
            
20.1.7.3.4: 
              Access reports records as #DELETED#
              when inserting or updating records in linked tables.
            
20.1.7.3.5: How do I handle Write Conflicts or Row Location errors?
20.1.7.3.6: 
              Exporting data from Access 97 to MySQL reports a
              Syntax Error.
            
20.1.7.3.7: 
              Exporting data from Microsoft DTS to MySQL reports a
              Syntax Error.
            
20.1.7.3.8: Using ODBC.NET with Connector/ODBC, while fetching empty string (0 length), it starts giving the SQL_NO_DATA exception.
20.1.7.3.9: 
              Using SELECT COUNT(*) FROM
               within
              Visual Basic and ASP returns an error.
            tbl_name
20.1.7.3.10: 
              Using the AppendChunk() or
              GetChunk() ADO methods, the
              Multiple-step operation generated errors. Check
              each status value error is returned.
            
20.1.7.3.11: 
              Access Returns Another user had modified the
              record that you have modified while editing
              records on a Linked Table.
            
20.1.7.3.12: When linking an application directly to the Connector/ODBC library under Unix/Linux, the application crashes.
20.1.7.3.13: 
              Applications in the Microsoft Office suite are unable to
              update tables that have
              DATE or
              TIMESTAMP columns.
            
20.1.7.3.14: 
              When connecting Connector/ODBC 5.x (Beta) to a MySQL 4.x
              server, the error 1044 Access denied for user
              'xxx'@'%' to database 'information_schema' is
              returned.
            
20.1.7.3.15: 
              When calling SQLTables, the error
              S1T00 is returned, but I cannot find
              this in the list of error numbers for Connector/ODBC.
            
20.1.7.3.16: When linking to tables in Access 2000 and generating links to tables programmatically, rather than through the table designer interface, you may get errors about tables not existing.
20.1.7.3.17: When I try to use batched statements, the excution of the batched statements fails.
20.1.7.3.18: 
              When connecting to a MySQL server using ADODB and Excel,
              occasionally the application fails to communicate with the
              server and the error Got an error reading
              communication packets appears in the error log.
            
20.1.7.3.19: When using some applications to access a MySQL server using C/ODBC and outer joins, an error is reported regarding the Outer Join Escape Sequence.
20.1.7.3.20: I can correctly store extended characters in the database (Hebrew/CJK) using C/ODBC 5.1, but when I retrieve the data, the text is not formatted correctly and I get garbled characters.
20.1.7.3.21: I have a duplicate MySQL Connector/ODBC entry within my Installed Programs list, but I cannot delete one of them.
20.1.7.3.22: 
              When submitting queries with parameter binding using
              UPDATE, my field values are
              being truncated to 255 characters.
            
20.1.7.3.23: Is it possible to disable data-at-execution using a flag?
Questions and Answers
20.1.7.3.1: 
              I have installed Connector/ODBC on Windows XP x64 Edition
              or Windows Server 2003 R2 x64. The installation completed
              successfully, but the Connector/ODBC driver does not
              appear in ODBC Data Source
              Administrator.
            
              This is not a bug, but is related to the way Windows x64
              editions operate with the ODBC driver. On Windows x64
              editions, the Connector/ODBC driver is installed in the
              %SystemRoot%\SysWOW64 folder.
              However, the default ODBC Data Source
              Administrator that is available through the
              Administrative Tools or
              Control Panel in Windows x64 Editions
              is located in the
              %SystemRoot%\system32 folder, and
              only searches this folder for ODBC drivers.
            
              On Windows x64 editions, you should use the ODBC
              administration tool located at
              %SystemRoot%\SysWOW64\odbcad32.exe,
              this will correctly locate the installed Connector/ODBC
              drivers and enable you to create a Connector/ODBC DSN.
            
This issue was originally reported as Bug#20301.
20.1.7.3.2: 
              When connecting or using the Test
              button in ODBC Data Source
              Administrator I get error 10061 (Cannot connect
              to server)
            
              This error can be raised by a number of different issues,
              including server problems, network problems, and firewall
              and port blocking problems. For more information, see
              Section B.1.2.2, “Can't connect to [local] MySQL server”.
            
20.1.7.3.3: 
              The following error is reported when using transactions:
              Transactions are not enabled
            
              This error indicates that you are trying to use
              transactions with a MySQL table that does not support
              transactions. Transactions are supported within MySQL when
              using the InnoDB database engine. In
              versions of MySQL before Mysql 5.1 you may also use the
              BDB engine.
            
You should check the following before continuing:
                  Verify that your MySQL server supports a transactional
                  database engine. Use SHOW
                  ENGINES to obtain a list of the available
                  engine types.
                
Verify that the tables you are updating use a transaction database engine.
                  Ensure that you have not enabled the disable
                  transactions option in your DSN.
                
20.1.7.3.4: 
              Access reports records as #DELETED#
              when inserting or updating records in linked tables.
            
              If the inserted or updated records are shown as
              #DELETED# in the access, then:
            
                  If you are using Access 2000, you should get and
                  install the newest (version 2.6 or higher) Microsoft
                  MDAC (Microsoft Data Access
                  Components) from
                  http://support.microsoft.com/kb/110093.
                  This fixes a bug in Access that when you export data
                  to MySQL, the table and column names aren't specified.
                
                  You should also get and apply the Microsoft Jet 4.0
                  Service Pack 5 (SP5) which can be found at
                  http://support.microsoft.com/default.aspx?scid=kb;EN-US;q239114.
                  This fixes some cases where columns are marked as
                  #DELETED# in Access.
                
                  For all versions of Access, you should enable the
                  Connector/ODBC Return matching rows
                  option. For Access 2.0, you should additionally enable
                  the Simulate ODBC 1.0 option.
                
You should have a timestamp in all tables that you want to be able to update.
                  You should have a primary key in the table. If not,
                  new or updated rows may show up as
                  #DELETED#.
                
                  Use only DOUBLE float
                  fields. Access fails when comparing with
                  single-precision floats. The symptom usually is that
                  new or updated rows may show up as
                  #DELETED# or that you cannot find
                  or update rows.
                
                  If you are using Connector/ODBC to link to a table
                  that has a BIGINT
                  column, the results are displayed as
                  #DELETED. The work around solution
                  is:
                
                      Have one more dummy column with
                      TIMESTAMP as the
                      data type.
                    
                      Select the Change BIGINT columns to
                      INT option in the connection dialog in
                      ODBC DSN Administrator.
                    
Delete the table link from Access and re-create it.
                  Old records still display as
                  #DELETED#, but newly added/updated
                  records are displayed properly.
                
20.1.7.3.5: How do I handle Write Conflicts or Row Location errors?
              If you see the following errors, select the
              Return Matching Rows option in the DSN
              configuration dialog, or specify
              OPTION=2, as the connection parameter:
            
Write Conflict. Another user has changed your data. Row cannot be located for updating. Some values may have been changed since it was last read.
20.1.7.3.6: 
              Exporting data from Access 97 to MySQL reports a
              Syntax Error.
            
This error is specific to Access 97 and versions of Connector/ODBC earlier than 3.51.02. Update to the latest version of the Connector/ODBC driver to resolve this problem.
20.1.7.3.7: 
              Exporting data from Microsoft DTS to MySQL reports a
              Syntax Error.
            
              This error occurs only with MySQL tables using the
              TEXT or
              VARCHAR data types. You can
              fix this error by upgrading your Connector/ODBC driver to
              version 3.51.02 or higher.
            
20.1.7.3.8: Using ODBC.NET with Connector/ODBC, while fetching empty string (0 length), it starts giving the SQL_NO_DATA exception.
You can get the patch that addresses this problem from http://support.microsoft.com/default.aspx?scid=kb;EN-US;q319243.
20.1.7.3.9: 
              Using SELECT COUNT(*) FROM
               within
              Visual Basic and ASP returns an error.
            tbl_name
              This error occurs because the
              COUNT(*) expression is
              returning a BIGINT, and ADO
              cannot make sense of a number this big. Select the
              Change BIGINT columns to INT option
              (option value 16384).
            
20.1.7.3.10: 
              Using the AppendChunk() or
              GetChunk() ADO methods, the
              Multiple-step operation generated errors. Check
              each status value error is returned.
            
              The GetChunk() and
              AppendChunk() methods from ADO
              doesn't work as expected when the cursor location is
              specified as adUseServer. On the other
              hand, you can overcome this error by using
              adUseClient.
            
A simple example can be found from http://www.dwam.net/iishelp/ado/docs/adomth02_4.htm
20.1.7.3.11: 
              Access Returns Another user had modified the
              record that you have modified while editing
              records on a Linked Table.
            
In most cases, this can be solved by doing one of the following things:
Add a primary key for the table if one doesn't exist.
Add a timestamp column if one doesn't exist.
Only use double-precision float fields. Some programs may fail when they compare single-precision floats.
If these strategies do not help, you should start by making a log file from the ODBC manager (the log you get when requesting logs from ODBCADMIN) and a Connector/ODBC log to help you figure out why things go wrong. For instructions, see Section 20.1.4.8, “Getting an ODBC Trace File”.
20.1.7.3.12: When linking an application directly to the Connector/ODBC library under Unix/Linux, the application crashes.
Connector/ODBC 3.51 under Unix/Linux is not compatible with direct application linking. You must use a driver manager, such as iODBC or unixODBC to connect to an ODBC source.
20.1.7.3.13: 
              Applications in the Microsoft Office suite are unable to
              update tables that have
              DATE or
              TIMESTAMP columns.
            
              This is a known issue with Connector/ODBC. You must ensure
              that the field has a default value (rather than
              NULL and that the default value is
              nonzero (that is, the default value is not
              0000-00-00 00:00:00).
            
20.1.7.3.14: 
              When connecting Connector/ODBC 5.x (Beta) to a MySQL 4.x
              server, the error 1044 Access denied for user
              'xxx'@'%' to database 'information_schema' is
              returned.
            
              Connector/ODBC 5.x is designed to work with MySQL 5.0 or
              later, taking advantage of the
              INFORMATION_SCHEMA database to
              determine data definition information. Support for MySQL
              4.1 is planned for the final release.
            
20.1.7.3.15: 
              When calling SQLTables, the error
              S1T00 is returned, but I cannot find
              this in the list of error numbers for Connector/ODBC.
            
              The S1T00 error indicates that a
              general timeout has occurred within the ODBC system and is
              not a MySQL error. Typically it indicates that the
              connection you are using is stale, the server is too busy
              to accept your request or that the server has gone away.
            
20.1.7.3.16: When linking to tables in Access 2000 and generating links to tables programmatically, rather than through the table designer interface, you may get errors about tables not existing.
              There is a known issue with a specific version of the
              msjet40.dll that exhibits this issue.
              The version affected is 4.0.9025.0. Reverting to an older
              version will enable you to create the links. If you have
              recently updated your version, check your
              WINDOWS directory for the older
              version of the file and copy it to the drivers directory.
            
20.1.7.3.17: When I try to use batched statements, the excution of the batched statements fails.
              Batched statement support was added in 3.51.18. Support
              for batched statements is not enabled by default. You must
              enable option FLAG_MULTI_STATEMENTS,
              value 67108864, or select the Allow multiple
              statements flag within a GUI configuration.
            
20.1.7.3.18: 
              When connecting to a MySQL server using ADODB and Excel,
              occasionally the application fails to communicate with the
              server and the error Got an error reading
              communication packets appears in the error log.
            
This error may be related to Keyboard Logger 1.1 from PanteraSoft.com, which is known to interfere with the network communication between MySQL Connector/ODBC and MySQL.
20.1.7.3.19: When using some applications to access a MySQL server using C/ODBC and outer joins, an error is reported regarding the Outer Join Escape Sequence.
              This is a known issue with MySQL Connector/ODBC which is
              not correctly parsing the "Outer Join Escape Sequence", as
              per the specs at
              Microsoft
              ODBC Specs. Currently, Connector/ODBC will return
              value > 0 when asked for
              SQL_OJ_CAPABILITIES even though no
              parsing takes place in the driver to handle the outer join
              escape sequence.
            
20.1.7.3.20: I can correctly store extended characters in the database (Hebrew/CJK) using C/ODBC 5.1, but when I retrieve the data, the text is not formatted correctly and I get garbled characters.
When using ASP and UTF8 characters you should add the following to your ASP files to ensure that the data returned is correctly encoded:
Response.CodePage = 65001 Response.CharSet = "utf-8"
20.1.7.3.21: I have a duplicate MySQL Connector/ODBC entry within my Installed Programs list, but I cannot delete one of them.
This problem can occur when you upgrade an existing Connector/ODBC installation, rather than removing and then installing the updated version.
To fix the problem you should use any working uninstallers to remove existing installations and then may have to edit the contents of the registry. Make sure you have a backup of your registry information before attempting any editing of the registry contents.
20.1.7.3.22: 
              When submitting queries with parameter binding using
              UPDATE, my field values are
              being truncated to 255 characters.
            
              You should ensure that the
              FLAG_BIG_PACKETS option is set for your
              connection. This removes the 255 character limitation on
              bound parameters.
            
20.1.7.3.23: Is it possible to disable data-at-execution using a flag?
If you do not wish to use data-at-execution, simply remove the corresponding calls. For example:
SQLLEN ylen = SQL_LEN_DATA_AT_EXEC(10); SQLBindCol(hstmt,2,SQL_C_BINARY, buf, 10, &ylen);
Would become:
SQLBindCol(hstmt,2,SQL_C_BINARY, buf, 10, NULL);
              Note that in the call to SQLBindCol(),
              &ylen has been replaced by NULL.
            
              For further information please refer to the
              MSDN
              documentation for SQLBindCol().
            


User Comments
Add your own comment.