Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
IContents
© 2020 Devart
Table of ContentsPart I What's New 1
Part II General Information 3
................................................................................................................................... 31 Overview
................................................................................................................................... 52 Features
................................................................................................................................... 73 Compatibility
................................................................................................................................... 104 Requirements
................................................................................................................................... 115 Licensing
................................................................................................................................... 146 Getting Support
Part III Using ODBC Driver 15
................................................................................................................................... 161 Installation
.......................................................................................................................................................... 16Windows
.......................................................................................................................................................... 20Windows Silent
.......................................................................................................................................................... 20macOS
.......................................................................................................................................................... 28Linux DEB Package
.......................................................................................................................................................... 32Linux RPM Package
................................................................................................................................... 352 Connecting to MySQL
................................................................................................................................... 373 Connection String Options
................................................................................................................................... 404 Secure Connections
.......................................................................................................................................................... 40SSL Connection
.......................................................................................................................................................... 43SSH Connection
.......................................................................................................................................................... 47HTTP Tunneling
................................................................................................................................... 505 Product Activation
.......................................................................................................................................................... 50Obtaining Activation Key
.......................................................................................................................................................... 51Activation on Windows
.......................................................................................................................................................... 55Activation on macOS
.......................................................................................................................................................... 55Activation on Linux
.......................................................................................................................................................... 56Where to See the License Information?
................................................................................................................................... 596 Sandboxed Apps on macOS
................................................................................................................................... 617 Using with iODBC
................................................................................................................................... 628 Supported Data Types
................................................................................................................................... 639 Supported ODBC API Functions
Part IV Using in Third-Party Tools 72
................................................................................................................................... 721 Using in DBeaver
................................................................................................................................... 772 Using in Microsoft Access
................................................................................................................................... 793 Using in Microsoft Excel
................................................................................................................................... 854 Using in SQL Server Management Studio
.......................................................................................................................................................... 85Using in SSMS
.......................................................................................................................................................... 90Troubleshooting in SSMS
ODBC Driver for MySQLII
© 2020 Devart
................................................................................................................................... 945 Using in OpenOffice and LibreOffice
................................................................................................................................... 1046 Using in PHP
................................................................................................................................... 1057 Using in Power BI
................................................................................................................................... 1068 Using in Python
................................................................................................................................... 1079 Using in QlikView
................................................................................................................................... 11110 Using in SSIS
................................................................................................................................... 11211 Using in Tableau
.......................................................................................................................................................... 113Using in Tableau
.......................................................................................................................................................... 113Troubleshooting in Tableau on macOS
What's New 1
© 2020 Devart
1 What's New
04-Oct-19 New features in ODBC Driver for MySQL 3.1Now ODBC driver is thread-safe
Now ODBC driver activation does not require administrator privileges
Work with password-protected private key for SSH protocol is supported
Improved compatibility with sandboxed applications for macOS
Support for connection pooling is improved
08-Jan-19 New features in ODBC Driver for MySQL 3.0Now ODBC driver for macOS is distributed as a PKG package
Now ODBC driver for Linux is distributed as DEB and RPM packages
Possibility to force the ODBC 2.x behavior is added
14-Jun-18 New features in ODBC Driver for MySQL 2.4MySQL 8 is supported
Support for sha2_password, caching_sha2_password authentications is added
Possibility to return String Types as Ansi or Unicode is added
Compatibility with MS Access is improved
Compatibility with Tableau is improved
Compatibility with Omnis Studio is improved
Compatibility with Power Pivot is improved
Compatibility with DBeaver is improved
26-Feb-18 New features in ODBC Driver for MySQL 2.3Performance of batch operations is significantly improved
Retrieving metadata for MySQL 4.1.1 and lower is improved
The SSHStoragePath connection parameter is added
Query Timeout option is added
23-Oct-17 New features in ODBC Driver for MySQL 2.2Azure Database for MySQL is supported
Compatibility with SAS JMP is improved
Compatibility with MS Power Query is improved
ODBC Driver for MySQL2
© 2020 Devart
OUTER JOIN macros in SQL queries are supported
DateTime macros in SQL queries are supported
Scalar function macros in SQL queries are supported
26-Oct-16 New features in ODBC Driver for MySQL 2.1Compatibility with MS Visual Studio
Compatibility with MS FoxPro is improved
Compatibility with MapInfo is improved
Compatibility with Libre Office is improved
Compatibility with Qlik is improved
Compatibility with Delphi & C++Builder is improved
MS Access linked tables support is improved
05-Apr-16 New features in ODBC Driver for MySQL 2.0Linux is supported
macOS is supported
Support for stored procedures and functions is improved
Backward compatibility of SQLExecDirect with ODBC 2.x is improved
Compatibility with MS Excel is improved
Compatibility with ODBC 2.x is improved
Bug with Trial expiration in Microsoft SQL Server Management Studio is fixed
06-Jan-16 New features in ODBC Driver for MySQL 1.3Connection via SSL protocol is supported
Connection via SSH protocol is supported
Connection via HTTP tunnel is supported
Compatibility with Power BI Desktop is improved
Compatibility with Microsoft Visual FoxPro is improved
06-Nov-15 New features in ODBC Driver for MySQL 1.2Compatibility with Microsoft Visual Studio is improved
Compatibility with Microsoft Office is improved
Compatibility with Microsoft SQL Server Management Studio is improved
Compatibility with Crystal Reports is improved
Compatibility with ClikView is improved
What's New 3
© 2020 Devart
16-Jul-15 New features in ODBC Driver for MySQL 1.1Performance is improved
20-May-15 New features in ODBC Driver for MySQL 1.0First release of ODBC Driver for MySQL
Windows 32-bit is supported
Windows 64-bit is supported
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
2 General Information
1. Overview
2. Features
3. Compatibility
4. Requirements
5. Licensing
6. Getting Support
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
2.1 Overview
ODBC Driver for MySQL provides high-performance and feature-rich connectivity solution for
ODBC-based applications to access MySQL databases from Windows, macOS, Linux - both
32-bit and 64-bit.
Full support for standard ODBC API functions and data types implemented in our driver
makes interaction of your database applications with MySQL fast, easy and extremely handy.
Direct connection
ODBC Driver for MySQL4
© 2020 Devart
Database applications based on our solution get an opportunity to establish connection to
MySQL directly. Direct Connection gives your applications an unrivaled advantage -
connection to MySQL databases directly via TCP/IP. That improves performance of your
applications, their quality, reliability and especially the deployment process, since there is no
need to supply additional client software together with your application.
CompatibilityODBC Driver for MySQL supports MySQL database versions:
MySQL servers: 8.0, 6.0, 5.6, 5.5, 5.1, 5.0, 4.1, 4.0, and 3.23
MariaDB up to 10.x
Microsoft Azure Database for MySQL
Google Cloud for MySQL
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
General Information 5
© 2020 Devart
2.2 Features
Direct ConnectionDatabase applications based on our solution get an opportunity to establish connection to
MySQL directly. Direct Connection gives your applications an unrivaled advantage -
connection to MySQL databases directly via TCP/IP. That improves performance of your
applications, their quality, reliability and especially the deployment process, since there is no
need to supply additional client software together with your application.
ODBC ConformanceOur ODBC driver provides full support for common ODBC interface:
ODBC Data Types support
ODBC API Functions support
In addition, we provide support for Advanced Connection String parameters. Thus allowing
any desktop and web applications to connect to MySQL from various environments and
platforms, that support ODBC.
ODBC Driver for MySQL6
© 2020 Devart
Development Platforms VarietyODBC driver for MySQL doesn't limit your choice of the development platform and
environment. The driver installations are available for various operational systems and
platforms. The current version supports Windows, both 32-bit and 64-bit. So you can develop
both 32-bit and 64-bit cross-platform applications.
DB CompatibilityODBC Driver for MySQL supports the following database servers:
MySQL servers: 8.0, 6.0, 5.6, 5.5, 5.1, 5.0, 4.1, 4.0, and 3.23
MySQL Embedded servers: 6.0, 5.6, 5.5, 5.1, 4.1, and 4.0
MariaDB up to 10.x
High PerformanceAll our products are designed to help you write high-performance, lightweight data access
layers, therefore they use advanced data access algorithms and techniques of optimization.
General Information 7
© 2020 Devart
SupportVisit our Support page to get instant support from experienced professionals, fast and detailed
responses, user engagement and interaction, frequent builds with bug fixes, and much more.
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
2.3 Compatibility
MySQL CompatibilityODBC Driver for MySQL supports the following database servers:
MySQL servers: 8.0, 6.0, 5.7, 5.6, 5.5, 5.1, 5.0, 4.1, 4.0, and 3.23
MariaDB CompatibilityMariaDB 5.x, MariaDB 10.x
Microsoft Azure Database for MySQL CompatibilityODBC Driver for MySQL also supports Microsoft Azure Database for MySQL.
Amazon Aurora CompatibilityODBC Driver for MySQL additionally supports Amazon Aurora.
Google Cloud for MySQL CompatibilityODBC Driver for MySQL currently supports Google Cloud for MySQL.
Supported Target PlatformsWindows, 32-bit and 64-bit (including Windows Terminal Server)
macOS, 32-bit and 64-bit
ODBC Driver for MySQL8
© 2020 Devart
Linux, 32-bit and 64-bit
Verified Compatibility With 3rd-Party Data Tools
Application Development Tools
Adobe ColdFusion
Embarcadero Delphi & C++Builder UniDAC, FireDAC, dbGo (ADO), BDE and dbExpress
FileMaker
Lazarus
Microsoft Visual FoxPro
Microsoft Visual Studio Server Explorer and ADO.NET ODBC Provider
Omnis Studio
PHP
PowerBASIC
Python
Database Management
Aqua Data Studio
dbForge Studio
dBeaver
General Information 9
© 2020 Devart
EMS SQL Management Studio
Informatica Cloud
RazorSQL
SQL Server Data Tools
SQL Server Management Studio
SQL Server Reporting Services
BI & Analytics Software
Alteryx
DBxtra
Dundas BI
IBM SPSS Statistics
MicroStrategy
Power BI
Qlik Sense
QlikView
RStudio
SAP Crystal Reports
SAS JMP
ODBC Driver for MySQL10
© 2020 Devart
Tableau
TARGIT
TIBCO Spotfire
Office Software Suites
LibreOffice
Microsoft Access
Microsoft Excel
OpenOffice
StarOffice
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
2.4 Requirements
In Direct Mode ODBC Driver for MySQL interacts with MySQL directly via TCP/IP. So you
don't need to install any additional software when working with MySQL in Direct Mode.
Below you can see the requirements:
If you use MySQL Embedded server, you need the server itself (libmysqld.dll) and
accompanying files like errmsg.sys.
If you are working not in Direct Mode, you need the client library (libmysql.dll).
Important condition is that only one ODBC Driver for MySQL version can be installed on the
PC in order to avoid incompatibility.
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
General Information 11
© 2020 Devart
2.5 Licensing
ODBC Driver License Agreement
--------------------------------------------------
PLEASE READ THIS LICENSE AGREEMENT CAREFULLY. BY INSTALLING OR USING
THIS SOFTWARE,YOU INDICATE ACCEPTANCE OF AND AGREE TO BECOME BOUND
BY THE TERMS AND CONDITIONS OF THIS LICENSE. IF YOU DO NOT AGREE TO THE
TERMS OF THIS LICENSE, DO NOT INSTALL OR USE THIS SOFTWARE AND
PROMPTLY RETURN IT TO DEVART.
INTRODUCTION
This Devart end-user license agreement ("Agreement") is a legal agreement between you
(either an individual person or a single legal entity) and Devart, for the use of the ODBC Driver
software application, demos, intermediate files, printed materials, and online or electronic
documentation contained in this installation file. For the purpose of this Agreement, the
software program(s) and supporting documentation will be referred to as the "Software".
LICENSE
1. GRANT OF LICENSE
The enclosed Software is licensed, not sold. You have the following rights and privileges,
subject to all limitations, restrictions, and policies specified in this Agreement.
1.1. If you are a legally licensed user, depending on the license type specified in the
registration letter you have received from Devart upon purchase of the Software:- the
"Desktop License" allows you to install and use the Software on a single desktop computer,
provided it is accessed by no more than one person at a time, either directly or remotely, for
sole purposes only in accordance with this Agreement. If more than one person can
simultaneously use the computer where you plan to install the product,you must purchase a
Server License. A Desktop License is valid for one single desktop installation;
- the "Server License" allows you to install and use the Software on a single server,provided it
is accessed by more than one person at a time, either directly or remotely.This definition
includes, but is not limited to, Web servers, application servers,batch servers, and desktop
workstations, where more than one concurrent users can access the Software. A Server
License is valid for one single server installation,provided it is used by 1 (one) legal entity in
ODBC Driver for MySQL12
© 2020 Devart
accordance with this Agreement.
1.2. If you are a legally licensed user of the Software, you are also entitled to:- make one copy
of the Software for archival purposes only, or copy the Software onto the hard disk of your
computer and retain the original for archival purposes;- develop and test Applications with the
Software, subject to the Limitations below.
1.3. You are allowed to use evaluation versions of the Software as specified in the Evaluation
section.
No other rights or privileges are granted in this Agreement.
2. LIMITATIONS
Only legally registered users are licensed to use the Software, subject to all of the conditions
of this Agreement. Usage of the Software is subject to the following restrictions.
2.1. You may not reverse engineer, decompile, or disassemble the Software.
2.2. You may not reproduce or distribute any Software documentation without express written
permission from Devart.
2.3. You may not distribute and sell any portion of the Software integrating it into your
Applications.
2.4. You may not transfer, assign, or modify the Software in whole or in part. In particular, the
Software license is non-transferable, and you may not transfer the Software installation
package.
2.5. You may not remove or alter any Devart's copyright, trademark, or other proprietary rights
notice contained in any portion of Devart files.
3. REDISTRIBUTION
The license grants you a non-exclusive right to reproduce any new software
programs(Applications) created using the Software. You cannot distribute the Software
integrated into your Applications. Any Devart's files remain Devart's exclusive property.
General Information 13
© 2020 Devart
4. TRANSFER
You may not transfer the Software to any individual or entity without express written
permission from Devart. In particular, you may not share copies of the Software under
"Desktop License" with other co-developers without obtaining proper license of these copies
for each individual; you may not install the Software under "Server License" more than 1 (one)
server without obtaining proper license of these installations for each server.
5. TERMINATION
Devart may immediately terminate this Agreement without notice or judicial resolution in the
event of any failure to comply with any provision of this Agreement. Upon such termination
you must destroy the Software, all accompanying written materials, and all copies.
6. EVALUATION
Devart may provide evaluation ("Trial") versions of the Software. You may transfer or
distribute Trial versions of the Software as an original installation package only.If the Software
you have obtained is marked as a "Trial" version, you may install and use the Software for a
period of up to 30 calendar days from the date of installation(the "Trial Period"), subject to the
additional restriction that it is used solely for evaluation of the Software and not in conjunction
with the development or deployment of any application in production. You may not use
Applications developed using Trial versions of the Software for any commercial purposes.
Upon expiration of the Trial Period, the Software must be uninstalled, all its copies and all
accompanying written materials must be destroyed.
7. WARRANTY
The Software and documentation are provided "AS IS" without warranty of any kind.Devart
makes no warranties, expressed or implied, including, but not limited to, the implied
warranties of merchantability and fitness for a particular purpose or use.
8. SUBSCRIPTION AND SUPPORT
The Software is sold on a subscription basis. The Software subscription entitles you to
download improvements and enhancement from Devart's web site as they become available,
during the active subscription period. The initial subscription period is one year from the date
of purchase of the license. The subscription is automatically activated upon purchase, and
ODBC Driver for MySQL14
© 2020 Devart
may be subsequently renewed by Devart, subject to receipt applicable fees. Licensed users
of the Software with an active subscription may request technical assistance with using the
Software over email from the Software development. Devart shall use its reasonable
endeavors to answer queries raised, but does not guarantee that your queries or problems
will be fixed or solved.
Devart reserves the right to cease offering and providing support for legacy IDE versions.
9. COPYRIGHT
The Software is confidential and proprietary copyrighted work of Devart and is protected by
international copyright laws and treaty provisions. You may not remove the copyright notice
from any copy of the Software or any copy of the written materials,accompanying the
Software.
This Agreement contains the total agreement between the two parties and supersedes any
other agreements, written, oral, expressed, or implied.
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
2.6 Getting Support
This document lists several ways you can find help with using ODBC Driver for MySQL
describes the Priority Support program.
Support OptionsThere are a number of resources for finding help on installing and using ODBC Driver for
MySQL:
You can find out more about ODBC Driver for MySQL installation or licensing by consulting
Installation and License articles of this manual respectively.
You can get community assistance and technical support on the Community Forum.
You can get advanced technical assistance by ODBC Driver for MySQL developers through
the ODBC Driver for MySQL Priority Support program.
SubscriptionsThe ODBC Driver for MySQL Subscription program is an annual maintenance and support
service for ODBC Driver for MySQL users.
General Information 15
© 2020 Devart
Users with a valid ODBC Driver for MySQL Subscription get the following benefits:
Product support through the ODBC Driver for MySQL Priority Support program
Access to new versions of ODBC Driver for MySQL when they are released
Access to all ODBC Driver for MySQL updates and bug fixes
Notifications about new product versions
Priority SupportODBC Driver for MySQL Priority Support is an advanced product support service for getting
expedited individual assistance with ODBC Driver for MySQL-related questions from the
ODBC Driver for MySQL developers themselves. Priority Support is carried out over email
and has a two business day response policy. Priority Support is available for users with an
active ODBC Driver for MySQL Subscription.
To get help through the ODBC Driver for MySQL Priority Support program, please send an
email to [email protected] describing the problem you are having. Make sure to include the
following information in your message:
Your ODBC Driver for MySQL Registration number.
Full ODBC Driver for MySQL edition name and version number. You can find the version
number in DLL version information.
Versions of the MySQL server and client you are using.
A detailed problem description.
If possible, ODBC Administrator Log, scripts for creating and filling in database objects, and
the application using ODBC Driver for MySQL.
If you have any questions regarding licensing or subscriptions, please see the FAQ or
contact [email protected]
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3 Using ODBC Driver
1. Installation
2. Connecting to MySQL
3. Connection String Options
4. Secure Connections
o SSL Connection
o SSH Connection
ODBC Driver for MySQL16
© 2020 Devart
o HTTP Tunneling
5. Product Activation
6. Sandboxed Apps on macOS
7. Using with iODBC
8. Supported Data Types
9. Supported ODBC API Functions
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3.1 Installation
ODBC Driver for MySQL currently supports the following platforms: Windows, macOS, Linux,
both 32-bit and 64-bit.
See how to install Devart ODBC Driver for MySQL :
Windows
Windows Silent
macOS
Linux DEB Package
Linux RPM Package
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3.1.1 Windows
Installation1. Download and run the installer executive file.
2. Follow the instructions in the wizard.
Using ODBC Driver 17
© 2020 Devart
3. In case if you already have the specified installation folder on the PC or another Driver
version is installed, you will get a warning. Click Yes to overwrite the old files with the
current installation, but it is recommended to completely uninstall the previous driver
version first, and then install the new one.
4. On the Select Components page you can select whether to install the 64-bit version of the
driver or not. Clear the check box if you need no 64-bit installation. There is also a check
box on this page, that allows you to select whether to install Help and Manual.
ODBC Driver for MySQL18
© 2020 Devart
5. In the License Information dialog box, you should select the license type and activate the
product. If you have no activation key, you can select Trial and use the driver for evaluation
purposes.
6. If you have an activation key, select the Activation Key option. Copy the activation key from
the registration email or your Customer Portal account and paste it into the Activation Key
edit box.
Using ODBC Driver 19
© 2020 Devart
7. If you have the activation key file, click the Load Activation Key button and browse to it.
8. Click Next.
ODBC Driver for MySQL20
© 2020 Devart
9. Click Install, then Finish.
10.After the installation is completed, you need to configure the driver.
See also:Installation on macOS
Install Linux DEB package
Install Linux RPM package
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3.1.2 Windows Silent
Silent Installation with OEM license on Windows1. Run the Command Prompt as an administrator.
2. Use the following command-lines to perform the driver silent/very silent installation:
DevartODBCMySQL.exe /SILENT /ActivationKey=y1c7nmgdu234laszxcvONGurjfhxm90LHuyhhsae
DevartODBCMySQL.exe /VERYSILENT /ActivationKey=ekhdh765mh09ukr237gfHRtrilwq98nbvl4RTukfgre
Note: The installation is performed by entering a license key.
DevartODBCMySQL.exe /SILENT /ActivationFile=d:\lic.key
DevartODBCMySQL.exe /VERYSILENT /ActivationFile=d:\lic.key
Note: The installation is performed by specifying the path to a license key file with any
name.
When /SILENT is used, the installation progress is displayed, but no user interaction is
required during installation.
When /VERYSILENT is used, the installation wizard dialog is hidden and the installation
process is performed without user interference.
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3.1.3 macOS
Prerequisites
Using ODBC Driver 21
© 2020 Devart
ODBC Driver for MySQL works under control of an ODBC driver manager. ODBC driver
manager is not distributed along with our driver and must be installed separately.
ODBC Driver for MySQL is compatible with iODBC driver manager.
In case when using other ODBC driver managers, ODBC Driver for MySQL will be installed,
but it will require manual modification of configuration files of these managers.
Installation1. Download the PKG file from the Devart website.
2. Run the downloaded file and follow the instructions in the wizard.
3. After reading the license agreement, click Agree to proceed with the installation.
ODBC Driver for MySQL22
© 2020 Devart
4. In the License Information dialog box, you should select the license type and activate the
product. If you have no activation key, you can select Trial and use the driver for evaluation
purposes.
5. If you have an activation key, select the Activation Key option. Copy the activation key from
the registration email or your Customer Portal account and paste it into the Activation Key
edit box.
Using ODBC Driver 23
© 2020 Devart
6. If you have the activation key file, click the Load Activation Key button and browse to it.
ODBC Driver for MySQL24
© 2020 Devart
7. Click Continue.
8. Click Install.
9. Driver is installed successfully.
Using ODBC Driver 25
© 2020 Devart
To activate the driver, perform the steps described in the Product Activation article.
Test connection
After the driver is installed, DSN with the name DEVART_MYSQL is created. You can use it to
test a connection with MYSQL server. For this, perform the following steps:
1. Run the iODBC utility of the required bitness. Find the DEVART_MYSQL section and click
the Configure button:
ODBC Driver for MySQL26
© 2020 Devart
2. In the appeared dialog, specify the required connection settings and click OK.
Using ODBC Driver 27
© 2020 Devart
3. Now click the Test button to establish a test connection to your data source.
ODBC Driver for MySQL28
© 2020 Devart
See also:Installation on Windows
Install Linux DEB package
Install Linux RPM package
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3.1.4 Linux DEB Package
PrerequisitesODBC Driver for MySQL works under control of an ODBC driver manager. ODBC driver
manager is not distributed along with our driver and must be installed separately.
ODBC Driver for MySQL is compatible with UnixODBC driver manager.
In case when using other ODBC driver managers, ODBC Driver for MySQL will be installed,
Using ODBC Driver 29
© 2020 Devart
but it will require manual modification of configuration files of these managers.
InstallationLet's consider how to install the Devart ODBC driver on Linux from a DEB package, for
example, on Ubuntu. There are two ways to install the driver either manually or via the
command line.
GUI installation1. Download the DEB package of the required bitness from the Devart website.
2. Navigate to the folder with the downloaded package ("Downloads" by default) and double-
click it.
3. In the opened dialog, click the Install button.
4. If the installation is successfully completed, the Install button changes into the Remove
ODBC Driver for MySQL30
© 2020 Devart
one.
Command-line installation1. Download the DEB package from the Devart website.
By default the required package will be downloaded into the ~/Downloads folder (or the
selected one);
2. Run the 'Terminal' program;
3. Navigate to the folder with the downloaded package cd ~/Downloads (if you downloaded
the package into another folder, you need to specify the path to this folder as the cd
command parameter):
cd ~/Downloads/
4. To install the devartodbcmysql_i386.deb on a 32-bit system, use the following command:
sudo dpkg -i devartodbcmysql_i386.deb
To install the devartodbcmysql_amd64.deb on a 64-bit system, use the following command:
sudo dpkg -i devartodbcmysql_amd64.deb
5. Driver is installed successfully.
Using ODBC Driver 31
© 2020 Devart
To activate the driver, perform the steps described in the Product Activation article.
Test connectionAfter the driver is installed, a DSN with the name DEVART_MYSQL is created. You can use it
to test connection with MYSQL server. For this, perform the following steps:
1. Open the odbc.ini file located in the /etc folder. Find the DEVART_MYSQL section and
specify the required connection settings:
User ID=<your MySQL User Name>
Password=<your MySQL password>
Server=<your MySQL server address>
Port=<your MySQL Port>
Database=<your MySQL database name>
2. Run the UnixODBC Test Command utility and test a connection using the following
command:
isql -v DEVART_MYSQL
ODBC Driver for MySQL32
© 2020 Devart
See also:Install Linux RPM package
Installation on Windows
Installation on macOS
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3.1.5 Linux RPM Package
PrerequisitesODBC Driver for MySQL works under control of an ODBC driver manager. ODBC driver
manager is not distributed along with our driver and must be installed separately.
ODBC Driver for MySQL is compatible with UnixODBC driver manager.
In case when using other ODBC driver managers, ODBC Driver for MySQL will be installed,
but it will require manual modification of configuration files of these managers.
InstallationLet's consider how to install the Devart ODBC driver on Linux from an RPM package, for
example, on CentOS. To install the driver, you should download the .rpm package and install
Using ODBC Driver 33
© 2020 Devart
it via the command line. See the detailed description of these steps below:
1. Download the RPM package from the Devart website.
By default the required package will be downloaded into the ~/Downloads folder (or the
selected one);
2. Run the 'Konsole' program;
3. Navigate to the folder with the downloaded package cd ~/Downloads (if you downloaded
the package into another folder, you need to specify the path to this folder as the cd
command parameter):
cd ~/Downloads/
4. Use the following command to install the devart-odbc-mysql.i386.rpm on a 32-bit system:
sudo rpm -ivh devart-odbc-mysql.i386.rpm
Use the following command to install the devart-odbc-mysql.x86_64.rpm on a 64-bit system:
sudo rpm -ivh devart-odbc-mysql.x86_64.rpm
5. Driver is installed successfully.
To activate the driver, perform the steps described in the Product Activation article.
ODBC Driver for MySQL34
© 2020 Devart
Test connectionAfter the driver is installed, a DSN with the name DEVART_MYSQL is created. You can use it
to test connection with MYSQL server. For this, perform the following steps:
1. Open the odbc.ini file located in the /etc folder. Find the DEVART_MYSQL section and
specify the required connection settings:
User ID=<your MySQL User Name>
Password=<your MySQL password>
Server=<your MySQL server address>
Port=<your MySQL Port>
Database=<your MySQL database name>
2. Run the UnixODBC Test Command utility and test a connection using the following
command:
isql -v DEVART_MYSQL
See also:Install Linux DEB package
Installation on Windows
Installation on macOS
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
Using ODBC Driver 35
© 2020 Devart
3.2 Connecting to MySQL
1. After the driver is installed, it can be configured. For this, in the Control Panel open
Administrative Tools and find the Data Sources (ODBC) tool:
2. Now you have to add the ODBC Driver for MySQL to the list of System Data Sources or
User Data Sources or File Data Sources using the ODBC Data Source Administrator
dialog.
3. For this, click the Add button - the Create New Data Source dialog will appear with a list
of available drivers.
Select ODBC Driver for MySQL and click Finish.
ODBC Driver for MySQL36
© 2020 Devart
Then you will be suggested to configure the driver.
4. To activate the driver via ODBC Administrator, refer to the Product Activation article for
more details.
5. In the appeared connection dialog, you can set the connection options.
Using ODBC Driver 37
© 2020 Devart
6. Then you can click OK and finish configuration or switch to the Advanced settings tab to
specify more detailed Connection String. See the full list of supported connection string
options in the Connection Options article.
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3.3 Connection String Options
MySQL Connection Options
The following table describes the options that you can include in the connection string for
MySQL:
Option DescriptionServer Serves to supply the server name for login.
Port Used to specify the port number for the connection. 3306 by default.
User ID Used to supply a user name for login.
Password Used to supply a password for login.
ODBC Driver for MySQL38
© 2020 Devart
Database Used to set the name of the database
CharsetUsed to set the character set that ODBC driver for MySQL uses to read
and write character data.
UseUnicode
Informs server that all data between client and server sides will be passed
in Utf8 coding. Setting this option converts all fields of the String type into
WideString that allows to work correctly with symbols of almost all
languages simultaneously. On the other hand, it causes a delay in working.
If the Use Unicode property is enabled, the Charset property will be
ignored. The default value is False.
ConnectionT
imeout
Used to specify the time in seconds before an attempt to make a
connection is considered unsuccessful.
IPVersion
Used to specify the version of the Internet Protocol. Ipv4 and Ipv6 are
available. The IPBoth option value allows to check for available protocol
versions and use the first available automatically.
Compress
Used to apply compression on transferring data. Setting this property to
True is quite effective on transferring big volumes of data through slow
connection. Pay attention that each row is compressed separately. Be
careful when setting this option as in some cases it may decrease fetch
speed instead of increasing. The default value is False.
Interactive
Permit interactive_timeout seconds (instead of wait_timeout seconds) of
inactivity before closing the connection. The client's session wait_timeout
variable is set to the value of the session interactive_timeout variable. The
default value is false.
Advanced Settings
Option DescriptionAllow NULL
stringsTo retrieve metadata, not all parameters according to MSDN can accept a
null value. If NULL, the driver should return an error. But some 3rd-party
tools pass NULL to the parameters. These options should be enabled for
compatibility with such tools.
Empty
strings as
NULL
ODBC Used to set the behavior corresponding to the ODBC specification
Using ODBC Driver 39
© 2020 Devart
Behavior
version that a third-party tool expects. The behavior of ODBC driver can
be changed by setting a value for the SQL_ATTR_ODBC_VERSION
attribute by calling the SQLSetEnvAttr function. But some third-party tools
expect the driver to exhibit ODBC 2.x behavior, but forget to call
SQLSetEnvAttr with the specified version or pass an incorrect value there.
In this case, the required behavior can be explicitly specified in the
Connection String by setting the ODBC Behavior parameter. The possible
values are:
Default - default ODBC behavior determined by a third-party tool.
Ver 2.x - ODBC 2.x behavior is explicitly set.
Ver 3.x - ODBC 3.x behavior is explicitly set.
Query
Timeout
Used to specify the number of seconds that the execution of an SQL query
can take before it is terminated and an exception is raised. If the value is
0, no timeout will happen. The default value is 0.
RegionalNu
mberSetting
s
Enables using local regional settings when converting numbers to string.
RegionalDat
eTimeSettin
gs
Enables using local regional settings when converting dates and times to
string.
String Types
Sets the string value types returned by the driver as Default, Ansi or
Unicode.
Default - the driver defines the string types.
Ansi - all string types will be returned as SQL_CHAR, SQL_VARCHAR
and SLQ_LONGVARCHAR.
Unicode - all string types will be returned as SQL_WCHAR,
SQL_WVARCHAR and SLQ_WLONGVARCHAR.
The option value should be changed if any third-party tool supports only
Ansi string types or Unicode ones.
MappingTimeStampas VarChar
Used to convert TIMESTAMP values to VARCHAR values. The defaultvalue is False.
ODBC Driver for MySQL40
© 2020 Devart
MySQL ODBC Connection String sample
DRIVER={Devart ODBC Driver for MySQL};User
ID=root;Password=root;Data Source=localhost;Database=test
See also:SSL Connection Description
SSH Connection Description
HTTP Tunneling Description
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3.4 Secure Connections
This section describes the principles of establishing secure connections to MySQL using
ODBC Driver for MySQL.
SSL Connection Description
SSH Connection Description
HTTP Tunneling Description
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3.4.1 SSL Connection
SSL (Secure Sockets Layer) is the protocol for secure access to remote computers over
insecure communication channels.
The SSL protocol runs above TCP/IP and below higher-level database protocol. It uses TCP/
IP on behalf of the higher-level protocols, and in the process allows an SSL-enabled server to
authenticate itself to an SSL-enabled client, allows the client to authenticate itself to the
server, and allows both machines to establish an encrypted connection.
These capabilities address fundamental concerns about communication over the Internet and
other TCP/IP networks:
SSL server authentication allows a user to confirm a server's identity. SSL-enabled client
software can use standard techniques of public-key cryptography to check that a server's
certificate and public ID are valid and have been issued by a certificate authority (CA) listed
in the client's list of trusted CAs. This confirmation might be important if the user, for
example, is sending a credit card number over the network and wants to check the
receiving server's identity.
Using ODBC Driver 41
© 2020 Devart
SSL client authentication allows a server to confirm a user's identity. Using the same
techniques as those used for server authentication, SSL-enabled server software can
check that a client's certificate and public ID are valid and have been issued by a certificate
authority (CA) listed in the server's list of trusted CAs. This confirmation might be important
if the server, for example, is a bank sending confidential financial information to a customer
and wants to check the recipient's identity.
An encrypted SSL connection requires all information sent between a client and a server to
be encrypted by the sending software and decrypted by the receiving software, thus
providing a high degree of confidentiality. Confidentiality is important for both parties to any
private transaction. In addition, all data sent over an encrypted SSL connection is protected
with a mechanism for detecting tampering--that is, for automatically determining whether
the data has been altered in transit.
SSL is based on algorithms of asymmetric encryption and digital signature. Consult MySQL
Reference Manual for information about how to enable SSL support for MySQL server and
generate certificates .
Note:
Usage of SSL is more preferable for MySQL connections than SSH because of less
required settings and higher performance.
How to connect to MySQL using SSLTo use SSL encryption for connection to MySQL, the corresponding SSL connection options
should be set:
ODBC Driver for MySQL42
© 2020 Devart
SSL Options Description
Option Description
Use SSLEnables SSL connections to MySQL. The
default value is False.
CA CertificateHolds the pathname to the certificate
authority file.
Certificate Holds the pathname to the certificate file.
Key Holds the pathname to the key file.
Ignore Server Certificate Validity
Specifies whether the server certificate
validity period will be checked during a
handshake when starting a new TLS/SSL
session. The default value is True.
Using ODBC Driver 43
© 2020 Devart
Ignore Server Certificate Constraints
Specifies whether the server certificate will
be verified for compliance with constraints
during a handshake when starting a new
TLS/SSL session. The default value is
True.
Trust Server Certificate
Specifies whether the server certificate will
be verified during a handshake when
starting a new TLS/SSL session. The
default value is False.
Ignore Server Certificate Insecurity
Specifies whether the server certificate
signature security will be checked during a
handshake when starting a new TLS/SSL
session. The default value is False.
Example Connection String
User ID=root;Password=root;Server=db;Port=3307;Database=test;Use
SSL=true;SSL CACert=c:\cacert.pem;SSL Cert=c:\client-cert.pem;SSL
Key=c:\client-key.pem;
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3.4.2 SSH Connection
ODBC Driver for MySQL allows connection to MySQL server from a local computer using
SSH tunneling.
SSH (Secure Shell) is the protocol for secure access to remote computers over insecure
communication channels.
The general chart of computer ties when connecting through the SSH tunnel is presented
below:
ODBC Driver for MySQL44
© 2020 Devart
This connection method provides secure connection between your application using ODBC
Driver for MySQL and SSH server that can go through insecure communication channels, like
Internet.
Connections between DB server and SSH server are insecure, therefore they should go
through secure communication channels. In the confluent case, DB server and SSH server
can be located on the same computer.
The principle of working of the SSH connections is described below. The SSH server listens
to the specified TCP/IP port. When the client tries to connect to this port, the SSH server
authenticates the client. If the authentication passes, the connection is established. Then the
client should create connections to DB server objects. The client sends an inquiry to establish
necessary connection to SSH server, and the server establishes it.
SSH Configuration using OpenSSH or other third-partySSH tunnelThe following is the step-by-step sequence of actions for the easiest case of using OpenSSH
for Windows. The detailed description of each command you can see in the documentation
for OpenSSH.
1. Download OpenSSH for Windows from http://sourceforge.net/projects/sshwindows/
2. Install SSH server:
o Choose a machine that will be used as SSH server. It does not have to be the same
machine that is a MySQL server, but communication channel between SSH server and
MySQL server must be protected
o Using Windows Control Panel create a user and set a password for him. For example,
SSHUser with password SSHPass
o Install Open SSH. It is enough to install only Server components
o Open OpenSSH/bin folder
o Add SSHUser to the list of allowed users:
mkpasswd -l -u SSHUser >> ..\etc\passwd
o Use mkgroup to create a group permissions file
Using ODBC Driver 45
© 2020 Devart
mkgroup -l >> ..\etc\group
o Run OpenSSH service
net start opensshd
Note:
There is no need to install SSH client, since ODBC Driver for MySQL itself implements
SSH client functionality.
About the methods of higher protection (key authentication, etc.) see documentation for
OpenSSH.
How to establish SSH connection to MySQLTo establish a SSH connection to MySQL, the corresponding connection options have to be
set, like shown below:
ODBC Driver for MySQL46
© 2020 Devart
SSH Options Description:
Option Description
Use SSH Enables or disables SSH tunneling.
SSH Host nameHolds the host name or IP address of the
SSH server to connect to.
SSH PortUsed to specify the port number for SSH
connection.
SSH User Name Sets the SSH user name for authentication.
SSH PasswordSets the SSH user password for
authentication.
SSH Client Key
Used to specify the SSH private key
filename. If the authentication by key is
used, the user must have his pair of keys.
The public key should be transferred to the
server, while the private key will be used by
the client to sign the data, and will be used
by server to authenticate the user. The
server verifies the specified user name and
private key, and if the server key
corresponds to the given user, the
connection may be established.
SSH Client Key PasswordUsed to specify the passphrase to unlock
the private key.
SSH Server KeyUsed to specify the SSH public key
filename.
SSH StoragePathUsed to specify the path to the directory
where the encyption keys are stored.
Example Connection String:
User ID=root;Password=root;Server=db;Port=3307;Database=test;Use
SSH=true;SSH Hostname=localhost;SSH Port=22;SSH
Username=SSHUser;SSH Password=SSHPass;SSH Client
Using ODBC Driver 47
© 2020 Devart
Key=PrivateKey.pem;SSH Client Key Password=SSHPassphrase;SSH
Server Key=PublicKey.pem;SSH Storage Path=D:\Keys\
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3.4.3 HTTP Tunneling
Connection through HTTP tunnelSometimes client machines are shielded by a firewall that does not allow you to connect to
server directly at the specified port. If the firewall allows HTTP connections, you can use
HTTP tunneling based on the PHP script.
An example of the web script tunneling usage can be the following: you have a remote
website, and access to its database through the port of the database server is forbidden. Only
access through HTTP port 80 is allowed, and you need to access the database from a
remote computer, like when using usual direct connection.
To start using HTTP tunneling, you should deploy the Tunneling script. The php script must
be available through the HTTP protocol. You can verify it is accessible for a web. For this
enter the http://www.domain.com/tunnel.php address to a web browser and check the result.
The only requirement to the server is PHP 5 support.
P.S.: tunnel.php is provided along with ODBC Driver for MySQL. It is available at the driver
installation path, in the http folder, by default: C:\Program Files (x86)\Devart\ODBC\MySQL\http
\tunnel.php
To connect to the database, you should set connection parameters for usual direct
connection and set the following parameters specific for the HTTP tunneling:
Using ODBC Data Source Administrator
ODBC Driver for MySQL48
© 2020 Devart
HTTP Options Description
Option Description
Use Http Enables or disables HTTP tunneling.
Http Url Holds the url of the tunneling PHP script.
Http
UsernameSet these properties if the access to the website folder with the script is
available only for registered users authenticated with user name and
password.Http
Password
Http Trust
Server
Certificate
This option specifies whether or not the driver should trust the server
certificate when connecting to the server. The default value is False – the
driver won't trust the server certificate and will verify validity of the server
certificate instead. If set to True, the driver will trust the server certificate.
Example Connection String
User ID=root;Password=root;Data Source=localhost;Database=test;Use
Using ODBC Driver 49
© 2020 Devart
Http=true;Url=http://server/tunnel.php;Http Username=HttpUser;Http
Password=HttpPassword;
Connection through proxy and HTTP tunnelConsider the previous case with one more complication.
HTTP tunneling server is not directly accessible from client machine. For example, the client
can reach the server only through proxy at address 10.0.0.1, which listens on port 3128. In
this case in addition to the HTTP options, you have to setup Proxy options as follows:
Proxy Options Description
Option Description
Proxy Host NameHolds the host name or IP address of the
proxy server to connect to.
Proxy PortUsed to specify the port number for TCP/IP
connection with proxy server.
Proxy Username Holds the proxy server account name.
Proxy Password Holds the password for the proxy server
ODBC Driver for MySQL50
© 2020 Devart
account.
Example Connection String
User ID=root;Password=root;Data
Source=192.168.0.10;Port=3307;Database=test;Use
Http=true;Url=http://server/tunnel.php;Proxy
Hostname=10.0.0.1;Proxy Port=3128;Proxy User=ProxyUser;Proxy
Password=ProxyPassword;
Additional informationTechnically speaking, there is one more way to tunnel network traffic. The Secure Shell
forwarding, or SSH, can be used for forwarding data. However, main purpose of SSH is traffic
encryption rather than avoiding firewalls or network configuration problems. The SSH
Connection article describes how to use SSH protocol in ODBC Driver for MySQL.
Keep in mind that traffic tunneling or encryption always increase CPU usage and network
load. It is recommended that you use direct connection whenever possible.
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3.5 Product Activation
See how to activate Devart ODBC Driver for MySQL :
Obtaining Activation Key
Activation on Windows
Activation on macOS
Activation on Linux
Where to see the license information
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3.5.1 Obtaining Activation Key
To obtain a product activation key, follow these instructions:
1. After purchasing the license, you receive a registration email to the email address,
specified when ordering the product.
2. This email contains a Driver Activation Key and Login Credentials for the Customer Portal.
Keep this information secret.
Using ODBC Driver 51
© 2020 Devart
3. You can copy the Activation Key either from the registration email or at the Customer Portal
account.
4. To login to the Customer Portal, use your Username and Password from the registration
email.
5. To obtain your Activation Key, click the View link on the right. You will get the following
dialog box:
6. Copy the Activation Key with the Copy to Clipboard button.
See also:Activation on Windows
Activation on MacOS
Activation on Linux
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3.5.2 Activation on Windows
Driver Activation After InstallationTo activate your installed driver using ODBC Administrator, perform the following steps:
1. Run ODBC Administrator.
ODBC Driver for MySQL52
© 2020 Devart
2. In the System DSN tab click the Add button.
3. In the appeared dialog box, select the installed driver, click Finish.
Using ODBC Driver 53
© 2020 Devart
4. In the Driver Configuration dialog box, on the License tab, click the Input Activation Key
button.
ODBC Driver for MySQL54
© 2020 Devart
5. Copy the activation key from the registration email carefully and paste it into the Input
Activation Key edit box.
Using ODBC Driver 55
© 2020 Devart
6. If you have the activation key file, click the Load Key button and browse to it.
7. Click OK.
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3.5.3 Activation on macOS
Driver Activation After InstallationIf you don’t activate your driver during installation, you can activate it later by following the
steps:
1. Create a file with the "activation.key" name.
2. Copy the activation key from the registration email or your Customer Portal account and
paste it into the created file.
3. Place the "activation.key" file into the folder where the driver was installed (for Devart
ODBC Driver for MySQL it is /Library/ODBC/Devart/Mysql by default).
See also:Activation on Windows
Activation on Linux
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3.5.4 Activation on Linux
Driver Activation After InstallationIf you don’t activate your driver during installation, you can activate it later by following the
steps:
1. Create a file with the "activation.key" name.
2. Copy the activation key from the registration email or your Customer Portal account and
paste it into the created file.
ODBC Driver for MySQL56
© 2020 Devart
3. Place the "activation.key" file into the folder where the driver was installed (for Devart
ODBC Driver for MySQL it is /usr/share/devart/odbcmysql by default).
See also:Activation on Windows
Activation on macOS
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3.5.5 Where to See the License Information?
To see the license information of your installed driver, do the following:
1. In the Control Panel run ODBC Administrator
2. Open the System DSN tab and click the Add button
Using ODBC Driver 57
© 2020 Devart
3. Select the driver and click Finish
ODBC Driver for MySQL58
© 2020 Devart
4. In the appeared dialogue, select the License tab
Using ODBC Driver 59
© 2020 Devart
See alsoProduct Activation
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3.6 Sandboxed Apps on macOS
Sandboxed Apps on macOSSandboxed applications don’t have permission to create or modify files and folders in your
system. This is caused by the System Integrity Protection (SIP) technology on macOS that is
designed to protect your files and folders from potentially malicious software by locking them.
In the context of ODBC drivers, sandboxed applications don’t have permission to access
ODBC Driver for MySQL60
© 2020 Devart
iODBC Driver Manager on macOS. When retrieving data from a database into an application
such as Excel via ODBC Driver for MySQL on macOS, you may get an error message
saying that the driver is unable to create a file.
Note that all third-party apps distributed through the Mac App Store are sandboxed.
Disabling System Integration Protection (SIP) on macOSTo give your application the necessary permission and get rid of the error message, you need
to turn off SIP on your macOS.
1. Turn off your Mac.
2. Reboot your Mac into Recovery Mode by restarting your computer and holding down
Command + R until you see the Apple logo on your screen.
3. Click Utilities > Terminal.
4. In the Terminal window, type in csrutil disable and press Enter.
5. Restart your Mac by entering reboot in the Terminal.
After reboot, your Mac start will SIP disabled and you’ll be able to fetch data through an ODBC
driver without any errors. You can check the status of SIP by entering csrutil status in the
Terminal. The message should say: "System Integrity Protection status: disabled".
Using ODBC Driver 61
© 2020 Devart
Don’t forget to re-enable SIP when you finish retrieving data into a third-party application from
an ODBC source. You can turn on SIP by following the above instructions and typing in
csrutil enable at step 4.
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3.7 Using with iODBC
Using ODBC Driver for MySQL with iODBCAmong known issues with iODBC driver manager is incorrect handling of the following ODBC
data types:
SQL_WCHAR
SQL_WVARCHAR
SQL_WLONGVARCHAR
For this reason, we recommend using the following data types instead:
SQL_CHAR
SQL_VARCHAR
SQL_LONGVARCHAR
If you have to work with the SQL_WCHAR, SQL_WVARCHAR, and SQL_WLONGVARCHAR
data types, we recommend using unixODBC driver manager instead of iODBC.
ODBC Driver for MySQL62
© 2020 Devart
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3.8 Supported Data Types
ODBC Driver for MySQL supports all the MySQL data types.
The complete list of MySQL data types is available in the MySQL documentation.
Data Type MappingThe following table describes how ODBC data types are mapped to MySQL data types.
MySQL Data Types ODBC Data Types
DECIMAL, NEWDECIMAL SQL_DECIMAL
BIT SQL_INTEGER
TINY SQL_TINYINT
SHORT SQL_SMALLINT
INT24 SQL_INTEGER
LONG SQL_INTEGER
LONGLONG SQL_BIGINT
FLOAT SQL_REAL
DOUBLE SQL_DOUBLE
TIMESTAMP SQL_TYPE_TIMESTAMP
DATE, NEWDATE SQL_TYPE_DATE
TIME SQL_TYPE_TIME
DATETIME SQL_TYPE_TIMESTAMP
YEAR SQL_SMALLINT
VAR_STRING, VARCHARif is flagged as binary - SQL_VARBINARY
else - SQL_VARCHAR
STRINGif is flagged as binary - SQL_BINARY
else - SQL_CHAR
NULL SQL_VARCHAR
ENUM SQL_CHAR
SET SQL_CHAR
Using ODBC Driver 63
© 2020 Devart
TINY_BLOBif is flagged as binary -
SQL_LONGVARBINARY
else - SQL_LONGVARCHAR;
MEDIUM_BLOB
LONG_BLOB
BLOB
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
3.9 Supported ODBC API Functions
This section summarizes ODBC routines, categorized by functionality.
For the complete ODBC API reference, please refer to the ODBC Programmer's Reference
at http://msdn.microsoft.com/en-us/library/ms714177.aspx.
An application can call SQLGetInfo function to obtain conformance information about ODBC
Driver for MySQL. To obtain information about support for a specific function in the driver, an
application can call SQLGetFunctions.
Important Note:
For backward compatibility, ODBC Driver for MySQL supports all deprecated functions.
The following tables list ODBC Driver for MySQL calls grouped by task:
ODBC API Calls for Connecting to a Data Source
Function Name Support Standard Purpose
SQLAllocHandle ISO 92
Obtains an
environment,
connection,
statement, or
descriptor handle.
SQLConnect ISO 92
Connects to a
specific driver by
data source name,
user ID, and
password.
ODBC Driver for MySQL64
© 2020 Devart
SQLDriverConnect ODBC
Connects to a
specific driver by
connection string or
requests that the
Driver Manager and
driver display
connection dialog
boxes for the user.
SQLAllocEnv Deprecated
Obtains an
environment handle
allocated from
driver.
SQLAllocConnect DeprecatedObtains a
connection handle
ODBC API Calls for Obtaining Information about a Driverand Data Source
Function Name Support Standard Purpose
SQLDataSources ISO 92
Returns the list of
available data
sources, handled by
the Driver Manager
SQLDrivers ODBC
Returns the list of
installed drivers and
their attributes,
handles by Driver
Manager
SQLGetInfo ISO 92
Returns information
about a specific
driver and data
source.
Using ODBC Driver 65
© 2020 Devart
SQLGetFunctions ISO 92Returns supported
driver functions.
SQLGetTypeInfo ISO 92
Returns information
about supported
data types.
ODBC API Calls for Setting and Retrieving DriverAttributes
Function Name Support Standard Purpose
SQLSetConnectAttr ISO 92Sets a connection
attribute.
SQLGetConnectAttr ISO 92
Returns the value of
a connection
attribute.
SQLSetConnectOpti
onDeprecated
Sets a connection
option
SQLGetConnectOpt
ionDeprecated
Returns the value of
a connection option
SQLSetEnvAttr ISO 92Sets an environment
attribute.
SQLGetEnvAttr ISO 92
Returns the value of
an environment
attribute.
SQLSetStmtAttr ISO 92Sets a statement
attribute.
SQLGetStmtAttr ISO 92
Returns the value of
a statement
attribute.
SQLSetStmtOption DeprecatedSets a statement
option
SQLGetStmtOption DeprecatedReturns the value of
a statement option
ODBC Driver for MySQL66
© 2020 Devart
ODBC API Calls for Preparing SQL Requests
Function Name Support Standard Purpose
SQLAllocStmt DeprecatedAllocates a
statement handle
SQLPrepare ISO 92
Prepares an SQL
statement for later
execution.
SQLBindParameter ODBC
Assigns storage for
a parameter in an
SQL statement.
SQLGetCursorNam
eISO 92
Returns the cursor
name associated
with a statement
handle.
SQLSetCursorNam
eISO 92
Specifies a cursor
name.
SQLSetScrollOption
sODBC
Sets options that
control cursor
behavior.
ODBC API Calls for Submitting Requests
Function Name Support Standard Purpose
SQLExecute ISO 92Executes a
prepared statement.
SQLExecDirect ISO 92Executes a
statement
SQLNativeSql ODBC
Returns the text of an
SQL statement as
translated by the
driver.
Using ODBC Driver 67
© 2020 Devart
SQLDescribeParam ODBC
Returns the
description for a
specific parameter
in a statement.
SQLNumParams ISO 92
Returns the number
of parameters in a
statement.
SQLParamData ISO 92
Used in conjunction
with SQLPutData to
supply parameter
data at execution
time. (Useful for long
data values.)
SQLPutData ISO 92
Sends part or all of a
data value for a
parameter. (Useful
for long data values.)
ODBC API Calls for Retrieving Results and Informationabout Results
Function Name Support Standard Purpose
SQLRowCount ISO 92
Returns the number
of rows affected by
an insert, update, or
delete request.
SQLNumResultCols ISO 92
Returns the number
of columns in the
result set.
SQLDescribeCol ISO 92Describes a column
in the result set.
SQLColAttribute ISO 92Describes attributes
of a column in the
ODBC Driver for MySQL68
© 2020 Devart
result set.
SQLColAttributes Deprecated
Describes attributes
of a column in the
result set.
SQLFetch ISO 92Returns multiple
result rows.
SQLFetchScroll ISO 92Returns scrollable
result rows.
SQLExtendedFetch DeprecatedReturns scrollable
result rows.
SQLSetPos ODBC
Positions a cursor
within a fetched
block of data and
enables an
application to
refresh data in the
rowset or to update
or delete data in the
result set.
SQLBulkOperations ODBC
Performs bulk
insertions and bulk
bookmark
operations, including
update, delete, and
fetch by bookmark.
ODBC API Calls for Retrieving Error or DiagnosticInformation
Function Name Support Standard Purpose
SQLError Deprecated
Returns additional
error or status
information
Using ODBC Driver 69
© 2020 Devart
SQLGetDiagField ISO 92
Returns additional
diagnostic
information (a single
field of the
diagnostic data
structure).
SQLGetDiagRec ISO 92
Returns additional
diagnostic
information (multiple
fields of the
diagnostic data
structure).
ODBC API Calls for Obtaining Information about theData Source's System Tables (Catalog Functions) Item
Function Name Support Standard Purpose
SQLColumnPrivileg
esODBC
Returns a list of
columns and
associated
privileges for one or
more tables.
SQLColumns X/Open
Returns the list of
column names in
specified tables.
SQLForeignKeys ODBC
Returns a list of
column names that
make up foreign
keys, if they exist for
a specified table.
SQLPrimaryKeys ODBC
Returns the list of
column names that
make up the primary
ODBC Driver for MySQL70
© 2020 Devart
key for a table.
SQLSpecialColumn
sX/Open
Returns information
about the optimal set
of columns that
uniquely identifies a
row in a specified
table, or the columns
that are
automatically
updated when any
value in the row is
updated by a
transaction.
SQLStatistics ISO 92
Returns statistics
about a single table
and the list of
indexes associated
with the table.
SQLTablePrivileges ODBC
Returns a list of
tables and the
privileges
associated with
each table.
SQLTables X/Open
Returns the list of
table names stored
in a specific data
source.
ODBC API Calls for Performing Transactions
Function Name Support Standard Purpose
SQLTransact DeprecatedCommits or rolls
back a transaction
Using ODBC Driver 71
© 2020 Devart
SQLEndTran ISO 92Commits or rolls
back a transaction.
ODBC API Calls for Terminating a Statement
Function Name Support Standard Purpose
SQLFreeStmt ISO 92
Ends statement
processing,
discards pending
results, and,
optionally, frees all
resources
associated with the
statement handle.
SQLCloseCursor ISO 92
Closes a cursor that
has been opened on
a statement handle.
SQLCancel ISO 92Cancels an SQL
statement.
ODBC API Calls for Terminating a Connection
Function Name Support Standard Purpose
SQLDisconnect ISO 92Closes the
connection.
SQLFreeHandle ISO 92
Releases an
environment,
connection,
statement, or
descriptor handle.
SQLFreeConnect DeprecatedReleases
connection handle.
SQLFreeEnv DeprecatedReleases an
environment handle.
ODBC Driver for MySQL72
© 2020 Devart
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
4 Using in Third-Party Tools
This section describes main principles of using ODBC Driver for MySQL with third-party data
analysis tools:
DBeaver
Microsoft Access
Microsoft Excel
OpenOffice and LibreOffice
PHP
Power BI
Python
QlikView
SQL Server Management Studio (SSMS)
o Troubleshooting in SSMS
SSIS
Tableau
o Troubleshooting in Tableau on macOS
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
4.1 Using in DBeaver
DBeaver OverviewDBeaver is a free, open source multiplatform database management tool and SQL client for
developers and database administrators. DBeaver can be used to access any database or
cloud application that has an ODBC or JDBC driver, such as Oracle, SQL Server, MySQl,
Salesforce, or MailChimp. Devart DBeaver provides you with the most important features
you'd need when working with a database in a GUI tool, such as:
SQL queries execution
Metadata browsing and editing
SQL scripts management
Using in Third-Party Tools 73
© 2020 Devart
Data export/import
Data backup
DDL generation
ER diagrams rendering
Test data generation
BLOB/CLOB support
Database objects browsing
Scrollable resultsets
The tool comes in two editions — Community and Enterprise. Enterprise Edition supports
NoSQL databases, such as MongoDB or Cassandra, persistent query manager database,
SSH tunneling, vector graphics (SVG) and a few other enterprise-level features. Note though
that you can access a MongoDB database from DBeaver Community Edition using the
respective Devart ODBC driver. For the purposes of this guide, we'll use the Community
Edition of DBeaver to retrieve data from MySQL via the Open Database Connectivity driver.
Creating an ODBC Data Source to Use MySQL Data inDBeaver1. Click the Start menu and select Control Panel.
2. Select Administrative Tools, then click ODBC Data Sources.
3. Click on the System DSN tab if you want to setup a DSN name for all users of the system
or select User DSN to configure DSN only for your account.
4. Click the Add button and double-click Devart ODBC Driver for MySQL in the list.
5. Give a name to your data source, e.g. MySQL_DBeaver_ODBC_Driver and enter values
for the connection parameters.
6. Click the Test Connection button to verify that you have properly configured the DSN.
When using ODBC driver for MySQL with DBeaver, SQL_WVARCHAR data types may be
displayed incorrectly in DBeaver. To prevent this, you need to set the string data types to Ansi
either in the Advanced Settings tab of the driver configuration dialog or directly in the
connection string (String Types=Ansi) — all string types will be returned as SQL_CHAR,
SQL_VARCHAR and SQL_LONGVARCHAR.
ODBC Driver for MySQL74
© 2020 Devart
Connecting to MySQL Data from DBeaver via ODBCDriver for MySQLFollow the steps below to establish a connection to MySQL in DBeaver.
1. In the Database menu, select New Database Connection.
Using in Third-Party Tools 75
© 2020 Devart
2. In the Connect to database wizard, select ODBC and click Next.
3. Enter the previously configured DSN in the Database/Schema field.
4. Click Test Connection. If everything goes well, you'll see the Success message.
ODBC Driver for MySQL76
© 2020 Devart
Viewing MySQL Database Objects and Querying Data
You can expand out the database structure in DBeaver's Database Navigator to visualize all
the tables in MySQL database. To view and edit the data in a table, you need to right-click on
the target table name and select View data.The content of the table will be displayed in the
main workspace.
If you want to write a custom SQL query that will include only the necessary columns from the
table, you can select New SQL Editor in the SQL Editor main menu. Create your query and
run it by clicking Execute SQL Statement to view the results in the same window.
Using in Third-Party Tools 77
© 2020 Devart
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
4.2 Using in Microsoft Access
Connecting Microsoft Access to MySQL Using an ODBCDriverThis article explains how to connect Microsoft Access to MySQL through the standard ODBC
interface. Microsoft Access is a dababase management system that combines the relational
database engine with a graphical user interface. Access can be used as a substitution for
spreadsheet applications like Excel to organize, store, and retrieve large amounts of related
data that can be difficult to manage in spreadsheets.
In Microsoft Access, you can connect to your MySQL data either by importing it or creating a
table that links to the data. Devart ODBC drivers support all modern versions of Access. It is
assumed that you have already installed and configured a DSN for ODBC driver for MySQL.
For the purpose of this article, we tested an ODBC connection to MySQL through our ODBC
drivers in Microsoft Access 2003, Microsoft Access 2007, Microsoft Access 2010, Microsoft
Access 2013, Microsoft Access 2016, Microsoft Access 2019. The following steps describe
how to use Microsoft Access 2019 to import or link to your data in MySQL.
Importing MySQL Data Into Microsoft Access Through an ODBC
ODBC Driver for MySQL78
© 2020 Devart
Connection1. Open your Microsoft Access database.
2. Select the External Data tab in the ribbon.
3. Expand the New Data Source drop-down and select From Other Sources, then select
ODBC Dababase.
4. In the Get External Data - ODBC Database dialog box, select Import the source data
into a new table in the curent database, and click OK.
5. In the Select Data Source dialog box, select the Machine Data Source tab.
6. Select the DSN that you have configured for MySQL and click OK.
7. In the Import Objects dialog box, select the tables that you want to import, and click OK.
8. If the database objects have been successfully imported, you should the see the
corresponding message in the dialog box. If you want to save the import steps to quickly
repeat the process without using the wizard at a later time, select the Save import steps
checkbox. Click Close.
9. The imported tables should appear in the Tables navigation pane on the left.
10.Double-click on the needed table to display its contents.
Linking to MySQL Data in Microsoft Access Through an ODBCConnection1. Open your Microsoft Access database.
2. Select the External Data tab in the ribbon.
3. Expand the New Data Source drop-down and select From Other Sources, then select
ODBC Dababase.
4. In the Get External Data - ODBC Database dialog box, select Link to the data source
by creating a linked table.
5. In the Select Data Source dialog box, select the Machine Data Source tab.
6. Select the DSN that you have configured for MySQL and click OK.
7. In the Link Tables dialog box, select the table or tables that you want to link to, and click
OK.
8. The Select Unique Record Identifier dialog box will prompt you to choose a field or fields
that uniquely identify each record in the table. To avoid inconsistencies, it is recommended
to select the primary key in the MySQL table as the unique record identifier. You are linking
multiple tables, you will be prompted to select unique record identifiers for each of the
selected tables.
9. The linked tables should appear in the Tables navigation pane on the left.
10.Double-click on the needed table to display its contents.
© 2015-2020 Request Support ODBC Forum Provide Feedback
Using in Third-Party Tools 79
© 2020 Devart
Devart. All RightsReserved.
4.3 Using in Microsoft Excel
Connecting to MySQL from Microsoft Excel using ODBCDriver for MySQLYou can use Microsoft Excel to access data from a MySQL database using ODBC
connector. With ODBC Driver, you can import the data directly into an Excel Spreadsheet
and present it as a table. Make sure that you use matching Excel and ODBC Driver, e.g. if
you have installed a 64-bit ODBC Drive, you will need to use the 64-bit version of Excel.
When working with Microsoft Excel, there are different ways of retrieving data from various
data sources using our ODBC drivers:
Connecting Excel to MySQL with Get & Transform (Power Query)
Connecting Excel to MySQL with Data Connection Wizard (Legacy Wizard)
Connecting Excel to MySQL with the Query Wizard
Connecting Excel to MySQL with Microsoft Query
Connecting Excel to MySQL with PowerPivot
Connecting Excel to MySQL with Get & Transform(Power Query)
You can use Get & Transform (Power Query) to connect to MySQL from Excel with ODBC.
This method assumes that you've installed an ODBC driver for MySQL.
1. Click the Data in Excel, then expand the Get Data drop-down list. Click From Other
Sources > From ODBC.
ODBC Driver for MySQL80
© 2020 Devart
2. In the From ODBC dialog, choose your data source name (DSN). If you haven't configured
your ODBC driver yet, you can expand the Advanced Options dialog box and enter the
connection string for your data source (without credentials, which are defined in the
credentials dialog box in the next step). Additionally, you can enter an SQL statement that
will be executed right after establishing a connection to the data source. Click OK.
Using in Third-Party Tools 81
© 2020 Devart
3. If you're using a database username or password, select Database and enter your
credentials in the dialox bog, then click Connect.
If your database is not password-protected or you've already specified your credentials in the
ODBC data source settings, select Default or Custom and press Connect
ODBC Driver for MySQL82
© 2020 Devart
4. In the window that appears, select the table you want to retrieve data from, and click Load.
The data from the table will be a displayed in an Excel spreadsheet where you can further
work with it.
Using in Third-Party Tools 83
© 2020 Devart
Connecting Excel to MySQL with Data ConnectionWizard (Legacy Wizard)
You can use this option to connect to OLE DB or ODBC external data source that has
already been defined.
1. In Excel, go to the Data tab. Click From Other Sources, and then click From Data
Connection Wizard.
2. In the opened dialog, select ODBC DSN and click Next to continue.
3. Now select a data source you want to connect to, and click Next.
4. To connect to the table containing the required data, select its name and click Next to enter
and save information about your new file or click Finish.
5. In the Import data dialog, you can select the way your data will be viewed in Excel and the
place where to put it in the worksheet, and click OK.
6. The required data is now displayed in the existing Excel worksheet.
Connecting Excel to MySQL with the Query Wizard
You can use this option to create a simple query for retrieving data from MySQL to Excel via
ODBC driver.
ODBC Driver for MySQL84
© 2020 Devart
1. Open Excel, in the main menu, click the Data tab.
2. Click the From Other Sources dropdown menu, and then click From Microsoft Query.
3. In the appeared dialog, you can choose the data source you want to connect to.
4. After a successful connection, you can select the data you want to be displayed in Excel
and click Next.
5. The next two steps allow filtering and sorting the data. Click Next to skip these procedures.
6. If you plan to further use the query, you can save it by clicking the Save button on the right.
7. Select Return Data To Microsoft Excel and click Finish.
8. In the Import data dialog, you can select the way your data will be viewed in Excel and the
place where to put it in the worksheet, and click OK.
9. The required data is successfully imported to Excel.
Connecting Excel to MySQL with Microsoft Query
You can use this option to create a more complex query for retrieving MySQL data to Excel
via ODBC driver.
1. Start Excel, click the Data tab.
2. In the appeared ribbon, click From Other Sources, and then click From Microsoft Query.
3. In the next dialog, choose the data source you want to connect to (e.g., using data source
name - Devart ODBC MySQL). Uncheck Use the Query Wizard to Create/Edit Queries
and click OK.
4. Now you can select the tables you want to add to your query. When you finish, just click
the Add button.
5. In the graphical editor, you can filter rows or columns of data, sort data, join multiple tables,
create a parameter query, etc.
Connecting Excel to MySQL with PowerPivot
You can use PowerPivot - an Excel add-in to perform data analysis and create complex data
models. To load the required data, do the following:
1. In Excel, click the PowerPivot tab, then click Manage to go to the PowerPivot window.
2. In the opened window, click From Other Sources.
3. When the Table Import Wizard opens, select Others (OLEDB/ODBC) and click Next.
4. In the Specify a Connection String window, click the Build button.
5. In the Data Link Properties dialog, specify the data source you want to connect (e.g.,
using data source name - Devart ODBC MySQL), and then click Next.
6. Now you should choose how to import the data (either select a table from the list or write a
Using in Third-Party Tools 85
© 2020 Devart
query to specify the data to be imported).
7. When the Import operation succeeded, click the Close button. The retrieved data is
inserted in the active worksheet.
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
4.4 Using in SQL Server Management Studio
This section describes how to establish and troubleshoot a connection to MySQL from SQL
Server Management Studio using ODBC Driver for MySQL.
Using in SQL Server Management Studio (SSMS)
Troubleshooting in SSMS
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
4.4.1 Using in SSMS
RequirementsIn order to avoid incorrect integration with MS SSMS, the working environment must meet the
following conditions:
The data source must be a configured system DSN. Refer to the Driver Configuration
article to learn how to configure a System DSN
The driver, studio, and SQL Server must be of the same bitness. For example, if you are
using 64-bit SQL Server Management Studio on 64-bit Windows platform, then configure
the 64-bit version of the driver using ODBC Administrator launched from %windir%
\system32\odbcad32.exe. Otherwise, configure the driver using the 32-bit version of ODBC
Administrator - launch it from %windir%\SysWOW64\odbcad32.exe.
ODBC Driver for MySQL and SQL Server must be installed on the same computer.
.NET Framework 4.5 must be installed on the computer.
Connecting to MySQL from SQL Server ManagementStudio using ODBC Driver for MySQLYou can use the Microsoft SQL Server Management Studio to connect your MySQL data to
an SQL Server instance. Linked Server is a tool of MS SQL Server that allows to execute
distributed queries to refer tables stored on non-SQL Server datbase in a single query. With
linked servers, you can execute commands against different data sources such as MySQL
ODBC Driver for MySQL86
© 2020 Devart
and merge them with your SQL Server database. You can create a linked server with one of
these methods: by using the options in the Object Explorer or by executing stored
procedures.
Below are major advantages of using SQL Server Linked Servers to connect to MySQL:
1. The ability to connect other database instances on the same or remote server.
2. The ability to run distributed queries on heterogeneous data sources across the
organization.
3. The ability to work with diverse data sources in the same way.
How to configure a SQL Server Linked Server to connectto MySQLYou can follow the steps to create a linked server for MySQL in SQL Server Management
Studio by using Object Explorer:
1. Start your Management Studio and choose your SQL Server instance.
2. In the Object Explorer pane, expand the Server Objects, right-click on Linked Servers
and then click on New Linked Server.
3. Configure your linked server in the dialog box:
o Give a name for your server in the Linked server field.
o Under Server type, select Other data source .
o Choose Microsoft OLE DB Provider for ODBC Drivers in the Provider drop-down
list.
o In the Data source field, enter the name of your DSN, e.g. Devart ODBC Driver for
MySQL . Alternatively, you can input the ODBC Driver connection string in the Provider
field.
The linked server will appear under the Linked Servers in the Object Explorer Pane. You can
now issue distributed queries and access MySQL databases through SQL Server.
Retrieving Data From MySQLDisable the Allow inprocess option of MSDASQL OLE DB Provider for ODBC Drivers. For
this, find the MSDASQL provider in the list of Linked Servers and double-click on it
Using in Third-Party Tools 87
© 2020 Devart
In the appeared Provider Options window, clear the Allow inprocess checkbox:
Create a new Linked Server
ODBC Driver for MySQL88
© 2020 Devart
Make sure to select Microsoft OLE DB Provider for ODBC Drivers and specify the
following parameters:
The MySQL tables are already available to be fetched. To query the linked server, click New
Query in the toolbar:
Using in Third-Party Tools 89
© 2020 Devart
Enter your SQL query in the editor window and click Execute to run the query:
As a result, you can see the contents of the selected table retrieved directly from the MySQL
account you are connected to.
Attention
ODBC Driver for MySQL90
© 2020 Devart
If the Linked Server was created with the Allow inprocess option enabled, then you should
delete this Linked Server and create it again with the Allow inprocess option disabled.
See alsoTroubleshooting SSMS
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
4.4.2 Troubleshooting in SSMS
When creating a linked server in SSMS, most errors happen due to security issues with
DCOM class MSDAINITIALIZE. We need to alter the DCOM Class MSDAINITIALIZE security
settings to make it work.
Following are the steps:
1. Open Component Services (Start>Run>DCOMCNFG)
2. Expand Component Services>Computers>My Computer>DCOM Config
3. From the list of DCOM components on the right side, select MSDAINITIALIZE and go to its
properties:
Using in Third-Party Tools 91
© 2020 Devart
4. Go to the Security Tab, Choose ‘Customize’ and click on the ‘Edit’ Button:
ODBC Driver for MySQL92
© 2020 Devart
5. Add the Domain User who is accessing the linked server and ‘Allow’ all the permissions
available (Local Launch, Remote Launch, Local Activation, Remote Activation). If you are
connecting to SQL server using SQL account, you need to provide this permission to the
account under which the SQL service is running.
6. Do this for all the 3 sections in the above screenshot.
To edit the Security settings, we followed the below steps:
1. Start > Run > Regedit
2. Find the Key: HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{2206CDB0-19C1-
11D1-89E0-00C04FD7A829}
3. Right Click>Permissions>Advanced>Owner Tab:
Using in Third-Party Tools 93
© 2020 Devart
4. Change the owner to Administrators.
5. Now, grant ‘Full Control’ to Administrators:
ODBC Driver for MySQL94
© 2020 Devart
After this you should be able to edit MSDAINITIALIZE security settings .
See alsoError message when you try to create an instance of an OLE DB provider in SQL Server:
"Cannot create an instance of OLE DB provider"
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
4.5 Using in OpenOffice and LibreOffice
Connecting to MySQL from OpenOffice and LibreOfficeusing ODBC Driver for MySQLThe article describes how to use Apache OpenOffice and LibreOffice to access ODBC data
Using in Third-Party Tools 95
© 2020 Devart
sources using the respective driver. You can access MySQL data from Open Office Base or
LibreOffice Base — desktop database management systems. Note that the Windows version
of OpenOffice is 32-bit, and you may get the error “The specified DSN contains an
architecture mismatch between the Driver and Application” when trying to access a data
source through a 64-bit ODBC driver. To get rid of the error message, set up the 32-bit
version of the driver.
To connect to an ODBC data source from OpenOffice or LibreOffice using our driver for
MySQL, perform the steps below:
1. Start OpenOffice or LibreOffice, click Database to open the Database Wizard.
Alternatively, you can launch the Database Wizard from OpenOffice or LibreOffice Calc,
Writer or any other tool by choosing File > New > Database.
ODBC Driver for MySQL96
© 2020 Devart
2. In the Database Wizard dialog box, click Connect to an existing database, select
ODBC from the drop-down list, and click Next.
Using in Third-Party Tools 97
© 2020 Devart
3. Specify the name of the data source you want to connect to. You can either type the name
of your data source into the field, e.g. ODBC Driver for MySQL, or you can click Browse,
double-click the data source you need, and then click Next.
ODBC Driver for MySQL98
© 2020 Devart
4. If your database requires a user name, type it into the User name field. If you are
connecting to a password protected database, check the Password required field.
Alternatively, you can specify these parameters in the data source settings of your ODBC
Driver for MySQL and leave these fields empty in Database Wizard.
Using in Third-Party Tools 99
© 2020 Devart
To test the connection to your data source, click Test Connection, input your credentials
and click OK.
ODBC Driver for MySQL100
© 2020 Devart
If you have entered valid credentials, you will see a success message. Click Next to proceed
to the final step.
5. You can keep the default selection in this dialog box and click Finish.
Using in Third-Party Tools 101
© 2020 Devart
You will be prompted to give a name to your new database and select the directory where you
want to store it.
ODBC Driver for MySQL102
© 2020 Devart
6. When the database opens, you will see the list of tables from your data source diplayed in
OpenOffice or LibreOffice Base workspace. To view the data from a specific table, double-
click the table name.
Using in Third-Party Tools 103
© 2020 Devart
7. To create an SQL query, click Queries in the Database pane, then click Create Query in
SQL View…
Enter your query in the query text box and click Run Query (F5). The date will be fetched
from the database and displayed in Open Office or LibreOffice, respectively.
ODBC Driver for MySQL104
© 2020 Devart
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
4.6 Using in PHP
Connecting to MySQL from PHP using ODBC Driver forMySQLPHP is one of the most popular programming languages for website development. ODBC
drivers are connectors that make PHP development database agnostic — your software
written in PHP will function with any vendor's database management system. You can use
functions like odbc_exec() to prepare and execute SQL statements against any databases
like MySQL, SQLite, PostgresQL, etc.
PHP-based projects usually require a data storage, whether a traditional database or a cloud-
based database. You can establish a connection to them using ODBC interface. With our
ODBC drivers, you can access various data sources and retrieve tables and fields from a
database.
Below is a sample PHP script for accessing MySQL via ODBC. The script connects to
MySQL database and fetchs all records from a table:
Step 1: Connect to ODBC data source
The odbc_connect() function is used to connect to an ODBC data source. Note that the
function takes three mandatory parameters: the data source name, username and password.
Using in Third-Party Tools 105
© 2020 Devart
If your database is not password-protected or doesn't require a username, leave these
parameters empty. In the following example, a connection is established using the
odbc_connect() function in PHP.
<?php $user = "myusername"; $password = "mypassword"; $ODBCConnection = odbc_connect("DRIVER={Devart ODBC Driver for MySQL};Server=myserver;Database=mydatabase;Port=myport;String Types=Unicode", $user, $password);
Step 2: Execute an SQL statement
If connection is successful, the odbc_exec() function is used to execute a SELECT
statement against the dept table in the autotest database.
$SQLQuery = "SELECT * FROM autotest.dept"; $RecordSet = odbc_exec($ODBCConnection, $SQLQuery);
Step 3: Print the result set
The odbc_fetch_row() function is used to return records from the result set. While
odbc_fetch_row() returns rows, the odbc_result_set() function prints a set of result in HTML
table. After all rows from the result set have been printed, the odbc_close() function closes
the connection.
while (odbc_fetch_row($RecordSet)) { $result = odbc_result_all($RecordSet, "border=1"); } odbc_close($ODBCConnection);?>
You can modify this script by specifying general settings for each Devart ODBC driver to use
any of them with your PHP projects.
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
4.7 Using in Power BI
Importing MySQL Data into Power BI Through an ODBCConnectionPower BI is a polular business intelligence solution which is comprised of services, apps, and
connectors that allow you to pull in raw data from various sources and create meaningful
reports. To connect Power BI to a data source such as MySQL, you can use a corresponding
ODBC driver.
ODBC Driver for MySQL106
© 2020 Devart
This tutorial explores how to connect to MySQL and import data into Power BI Desktop using
an ODBC driver. It is assumed that you have already installed and configured a DSN for
ODBC driver for MySQL.
1. Run Power BI Desktop and click Get Data.
2. Select the Other category in the Get Data dialog box, then select ODBC. Click Connect
to confirm the choice.
3. In the From ODBC dialog box, expand the Data Source Name (DSN) drop-down list and
select the previously configured DSN for MySQL
4. If you would like to enter a SQL statement to narrow down the returned results, click the
Advanced options arrow, which expands the dialog box, and type or paste your SQL
statement.
5. Click OK. If your data source is password-protected, Power BI will prompt you for user
credentials. Type your Username and Password in the respective fields and click.
6. Now you should see the data structures in your data source. You can preview the contents
of the database objects by clicking on them.
7. To load the MySQL data into Power BI for analysis, select the needed table and click Load.
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
4.8 Using in Python
Installing the ODBC Driver for MySQLOne of the most convenient methods to connect to an external database or access cloud
data from Python is via ODBC. Devart has developed a range of ODBC Drivers for Python to
work with databases and cloud services.
If you don't have Python installed on your machine, go to the Python official website, download
the appropriate installer and run it. You will also need to install the pyodbc module — the
easiest way to do that is by using the pip install pyodbc command in the Python interactive
mode. Next, you need to download the ODBC Driver for MySQL. To use the ODBC driver as
a translation layer between the application and the database, you need to configure it by
following the installation instructions.
Connecting to MySQL from Python using ODBC Driverfor MySQLHere’s an example to show you how to connect to MySQL via Devart ODBC Driver in Python.
Using in Third-Party Tools 107
© 2020 Devart
First we import the pyodbc module, then create a connection to the database, insert a new
row and read the contents of the EMP table while printing each row to the Python interactive
console. To execute the script, you can type the code directly in the interactive console or add
the code to a file with the .py extension and run the file from the command prompt.
Step 1: Connect
import pyodbc cnxn = pyodbc.connect('DRIVER={Devart ODBC Driver for MySQL};User ID=myuserid;Password=mypassword;Server=myserver;Database=mydatabase;Port=myport;String Types=Unicode')
Step 2: Insert a row
Here's a simple example of how to execute an insert statement to test the connection to the
database. The script inserts a new record to the EMP table.
cursor = cnxn.cursor() cursor.execute("INSERT INTO EMP (EMPNO, ENAME, JOB, MGR) VALUES (535, 'Scott', 'Manager', 545)")
Step 3: Execute query
The cursor.execute() function retrieves rows from the select query on a dataset. The
cursor.fetchone() function iterates over the result set returned by cursor.execute() while the
print() function prints out all records from the table to the console.
cursor = cnxn.cursor() cursor.execute("SELECT * FROM EMP") row = cursor.fetchone() while row: print (row) row = cursor.fetchone()
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
4.9 Using in QlikView
Connecting to MySQL from QlikView using ODBC Driverfor MySQLThis tutorial describes how to connect and configure QlikView to retrieve data from MySQL for
further analysis. QlikView is a data visualization tool that connects and pulls data from
different popular databases like MySQL, MongoDB, Oracle, SQL Server, Postgres, etc. to
present it in a single view. The business intelligence platform identifies relationships in your
data and discovers patterns and opportunities to support your decision making.
ODBC Driver for MySQL108
© 2020 Devart
QlikView supports the ODBC connectivity interface for communication with external data
sources. An ODBC data source must be configured for the database you want to access.
You can create an ODBC connection using a DSN during the ODBC driver installation or
later.
To connect to an ODBC data source from QlikView using our driver for MySQL, perform the
steps below:
1. Open the QlikView client application and click File > New. Close the Getting Started
wizard and open File > Edit Script (CTRL+E).
2. In the Data tab, choose ODBC from the Database drop-down and click Connect. Select
the Data Source you created earlier, type in the User ID and Password if your database is
password-protected. You can test the connection by choosing Test Connection. The
Connection Test succeeded message should appear. Click OK to connect to your data
source.
Using in Third-Party Tools 109
© 2020 Devart
3. To retrieve the data from your data source, you can enter an SQL query and press F5. You
will be suggested to choose fields to be displayed.
ODBC Driver for MySQL110
© 2020 Devart
4. Alternatively, you can click Select, and QlikView will show you the database structure
window where you can compose a SELECT statement for the data to be fetched. You can
choose a different database from the database drop-down list. Select the necessary tables
and fields. You can retrieve date from multiple tables and fields by selecting them and
clicking Add. When you are ready with your SELECT statement, click OK. You will get
back to the main script editor with your SQL statement. Press F5 to execute the script and
select the fields to be displayed in QlikView.
5. Once the data has been fetched, you can choose a table layout to present the data in a
Using in Third-Party Tools 111
© 2020 Devart
table. Choose Layout > New Sheet Object > Table Box. Select the fields to be added to
the tablebox and click OK.
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
4.10 Using in SSIS
SQL Server Integration Services (SSIS) is a component of SQL Server that is designed to
perform various data migration tasks. When using Devart ODBC Driver for MySQL as a
translation layer between the data source and SSIS, the driver and SSIS communicate via
Microsoft ODBC version 3.x.
ODBC Driver for MySQL112
© 2020 Devart
Note that when you extract data from an ODBC data source using the SQLExecDirect
function, an issue may occur: SSIS expects the 2.x version of ODBC behavior, while the
ODBC driver continues to fetch data from a data source via ODBC version 3.x.
To prevent any issues when using SQLExecDirect, you should force the 2.x version of ODBC
behavior in the DSN settings: open the Advanced Settings tab and select Ver 2.x from the
ODBC Behavior dropdown.
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
4.11 Using in Tableau
This section describes how to establish and troubleshoot a connection to MySQL from
Tableau using ODBC Driver for MySQL.
Using in Tableau
Troubleshooting in Tableau on macOS
© 2015-2020Devart. All Rights
Request Support ODBC Forum Provide Feedback
Using in Third-Party Tools 113
© 2020 Devart
Reserved.
4.11.1 Using in Tableau
Importing MySQL Data Into Tableau Through an ODBCConnectionThis article explains to establish and ODBC connection to MySQL from Tableau Desktop.
Tableau is a data visualization tool that allows you to pull in raw data, perform analysis on it,
and create meaningful reports to get actionable insights. With Tableau Desktop and our suite
of ODBC drivers, you can connect to various relational and non-relational databases, both
cloud and on-premise.
1. Run Tableau Desktop.
2. On the start page, select More... in the Connect pane.
3. Choose Other Databases (ODBC).
4. Expand the DSN drop-down list and select the DSN that you have created and configured
for MySQL. Alternatively, if you have not created a DSN, you can choose the Driver option
and select Devart ODBC Driver for MySQL from the drop-down.
5. Click Connect.
6. After a successful connection, click Sign in.
7. Select the needed database and schema in MySQL.
8. You should see the list of all tables you have access to in the connected data source.
9. Drag-and-drop the table name to the area where it says Drag tables here to retrieve the
data, or click New Custom SQL to write a query that will select only specific data from the
table.
10.Hit Update Now to retrieve and display the data.
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback
4.11.2 Troubleshooting in Tableau on macOS
Using ODBC Driver for MySQL with Tableau on macOSiODBC driver manager incorrectly handles SQL_WCHAR and SQL_WVARCHAR ODBC
data types. To work with these data types in Tableau using ODBC driver for MySQL, create a
Tableau Datasource Customisation (.tdc) file in 'Users\[your name]\Documents\My Tableau
Repository\Datasources' and add the following section to the file:
<?xml version='1.0' encoding='utf-8' ?><connection-customization class='genericodbc' enabled='true' version='1.0'>
ODBC Driver for MySQL114
© 2020 Devart
<vendor name='MySQL' /><driver name='Devart ODBC Driver for MySQL' /> <customizations> <customization name='CAP_ODBC_BIND_SUPPRESS_WIDE_CHAR' value='yes' /> </customizations></connection-customization>
© 2015-2020Devart. All RightsReserved.
Request Support ODBC Forum Provide Feedback