Devartodbcsqlserver

Download as pdf or txt
Download as pdf or txt
You are on page 1of 118

Contents I

Table of Contents
Part I What's New 1

Part II General Information 3


1 Overview
................................................................................................................................... 3
2 Features
................................................................................................................................... 5
3 Compatibility
................................................................................................................................... 7
4 Requirements
................................................................................................................................... 11
5 Licensing
................................................................................................................................... 11
6 Getting
...................................................................................................................................
Support 15

Part III Using ODBC Driver 16


1 Installation
................................................................................................................................... 16
Window s .......................................................................................................................................................... 17
.......................................................................................................................................................... 20
Window s Silent
m acOS .......................................................................................................................................................... 20
.......................................................................................................................................................... 28
Linux DEB Package
.......................................................................................................................................................... 32
Linux RPM Package
2 Connecting
...................................................................................................................................
to SQL Server 35
3 Connection
...................................................................................................................................
String Options 38
4 Secure
...................................................................................................................................
Connections 41
.......................................................................................................................................................... 41
SSL Connection
.......................................................................................................................................................... 43
SSH Connection
.......................................................................................................................................................... 46
HTTP Tunneling
5 Product
...................................................................................................................................
Activation 50
..........................................................................................................................................................
Obtaining Activation Key 50
Activation on..........................................................................................................................................................
Window s 51
Activation on..........................................................................................................................................................
m acOS 55
Activation on..........................................................................................................................................................
Linux 55
Where to See..........................................................................................................................................................
the License Inform ation? 56
6 Sandboxed
...................................................................................................................................
Apps on macOS 59
7 Using...................................................................................................................................
with iODBC 61
8 Supported
...................................................................................................................................
Data Types 62
9 Supported
...................................................................................................................................
ODBC API Functions 63

Part IV Using in Third-Party Tools 72


1 Using...................................................................................................................................
in DBeaver 72
2 Using...................................................................................................................................
in Microsoft Access 77
3 Using...................................................................................................................................
in Microsoft Excel 79
4 Using...................................................................................................................................
in SQL Server Management Studio 85
.......................................................................................................................................................... 85
Using in SSMS
..........................................................................................................................................................
Troubleshooting in SSMS 90

© 2020 Devart
II ODBC Driver for SQL Server

5 Using...................................................................................................................................
in Omnis Studio 94
6 Using...................................................................................................................................
in OpenOffice and LibreOffice 96
7 Using
...................................................................................................................................
in PHP 106
8 Using
...................................................................................................................................
in Power BI 107
9 Using
...................................................................................................................................
in Python 108
10 Using
...................................................................................................................................
in QlikView 109
11 Using
...................................................................................................................................
in SSIS 113
12 Using
...................................................................................................................................
in Tableau 114
.......................................................................................................................................................... 115
Using in Tableau
..........................................................................................................................................................
Troubleshooting in Tableau on m acOS 115

© 2020 Devart
What's New 1

1 What's New

04-Oct-19 New features in ODBC Driver for SQL Server


3.1
Now ODBC driver is thread-safe
Support for connection pooling is improved
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

08-Jan-19 New features in ODBC Driver for SQL Server


3.0
Now 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 SQL Server


2.4
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 SQL Server


2.3
Performance of batch operations is significantly improved
The SSHStoragePath connection parameter is added

23-Oct-17 New features in ODBC Driver for SQL Server


2.2
Compatibility with SAS JMP is improved
Compatibility with MS Power Query is improved

© 2020 Devart
2 ODBC Driver for SQL Server

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 SQL Server


2.1
Support for IPv6 protocol is added
Compatibility 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 SQL Server


2.0
Linux is supported
Mac OS X 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 SQL Server


1.3
Connection 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 SQL Server


1.2

© 2020 Devart
What's New 3

Compatibility 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

16-Jul-15 New features in ODBC Driver for SQL Server


1.1
Performance is improved

20-May-15 New features in ODBC Driver for SQL Server


1.0
First release of ODBC Driver for SQL Server
Windows 32-bit is supported
Windows 64-bit is supported
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

2 General Information

1. Overview
2. Features
3. Compatibility
4. Requirements
5. Licensing
6. Getting Support
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

2.1 Overview
ODBC Driver for SQL Server provides high-performance and feature-rich connectivity
solution for ODBC-based applications to access SQL Server databases from Windows,
macOS, Linux - both 32-bit and 64-bit.

© 2020 Devart
4 ODBC Driver for SQL Server

Full support for standard ODBC API functions and data types implemented in our driver
makes interaction of your database applications with SQL Server fast, easy and extremely
handy.

Direct connection
Database applications based on our solution get an opportunity to establish a connection to
SQL Server directly. Direct Connection gives your applications an unrivalled advantage —
connection to SQL Server databases directly via TCP/IP avoiding SQL Server Client. 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.

Compatibility
ODBC Driver for SQL Server supports the following versions of database servers:
SQL Server 2017 (including Express edition)
SQL Server 2016 (including Express edition)
SQL Server 2014 (including Express edition)
SQL Server 2012 (including Express edition)
SQL Server 2008 R2 (including Express edition)

© 2020 Devart
General Information 5

SQL Server 2008 (including Express edition)


SQL Server 2005 (including Express edition)
SQL Server 2000 (including MSDE)
SQL Server 7
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

2.2 Features

Direct Connection
Database applications based on our solution get an opportunity to establish connection to
SQL Server 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 Conformance
Our ODBC driver provides full support for common ODBC interface:
ODBC Data Types support

© 2020 Devart
6 ODBC Driver for SQL Server

ODBC API Functions support

In addition, we provide support for Advanced Connection String parameters. Thus allowing
any desktop and web applications to connect to SQL Server from various environments and
platforms, that support ODBC.

Development Platforms Variety


ODBC Driver for SQL Server 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, macOS, Linux, both 32-bit and 64-bit. So
you can develop both 32-bit and 64-bit cross-platform applications.

DB Compatibility
ODBC Driver for SQL Server supports the following server versions:
SQL Server 2017 (including Express edition)
SQL Server 2016 (including Express edition)
SQL Server 2014 (including Express edition)
SQL Server 2012 (including Express edition)
SQL Server 2008 R2 (including Express edition)
SQL Server 2008 (including Express edition)
SQL Server 2005 (including Express edition)
SQL Server 2000 (including MSDE)
SQL Server 7

© 2020 Devart
General Information 7

High Performance
All 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.

Support
Visit 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-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

2.3 Compatibility

SQL Server Compatibility


ODBC Driver for SQL Server supports the following database servers:

SQL Server versions Support


SQL Server 2017 (including Express edition)

SQL Server 2016 (including Express edition)

© 2020 Devart
8 ODBC Driver for SQL Server

SQL Server 2014 (including Express edition)

SQL Server 2012 (including Express edition)

SQL Server 2008 R2 (including Express edition)

SQL Server 2008 (including Express edition)

SQL Server 2005 (including Express edition)

SQL Server 2000 (including MSDE)

SQL Server 7

Supported Target Platforms


Windows, 32-bit and 64-bit (including Windows Terminal Server)
macOS, 32-bit and 64-bit
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

© 2020 Devart
General Information 9

Microsoft Visual Studio


Server Explorer and ADO.NET ODBC Provider

Omnis Studio

PHP

PowerBASIC

Python

Database Management

Aqua Data Studio

dbForge Studio

dBeaver

EMS SQL Management Studio

Informatica Cloud

RazorSQL

SQL Server Data Tools

SQL Server Management Studio

SQL Server Reporting Services

BI & Analytics Software

Alteryx

© 2020 Devart
10 ODBC Driver for SQL Server

DBxtra

Dundas BI

IBM SPSS Statistics

MicroStrategy

Power BI

Qlik Sense

QlikView

RStudio

SAP Crystal Reports

SAS JMP

Tableau

TARGIT

TIBCO Spotfire

Office Software Suites

LibreOffice

Microsoft Access

Microsoft Excel

OpenOffice

© 2020 Devart
General Information 11

StarOffice

© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

2.4 Requirements
The following few requirements must be met in order to use ODBC Driver for SQL Server:
If you work with SQL Server Compact Edition, the server itself should be installed on the
client computer.
Support for some features of SQL Server 2005 like MARS requires Microsoft SQL Server
Native Client. If you need to use these features, you should download and install Microsoft
SQL Server Native Client.
Important condition is that only one ODBC Driver for SQL Server version can be installed
on the PC in order to avoid incompatibility.
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

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".

© 2020 Devart
12 ODBC Driver for SQL Server

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
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.

© 2020 Devart
General Information 13

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.

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

© 2020 Devart
14 ODBC Driver for SQL Server

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
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-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

© 2020 Devart
General Information 15

2.6 Getting Support

This document lists several ways you can find help with using ODBC Driver for SQL Server
describes the Priority Support program.

Support Options
There are a number of resources for finding help on installing and using ODBC Driver for
SQL Server:
You can find out more about ODBC Driver for SQL Server 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 SQL Server developers
through the ODBC Driver for SQL Server Priority Support program.

Subscriptions
The ODBC Driver for SQL Server Subscription program is an annual maintenance and
support service for ODBC Driver for SQL Server users.
Users with a valid ODBC Driver for SQL Server Subscription get the following benefits:
Product support through the ODBC Driver for SQL Server Priority Support program
Access to new versions of ODBC Driver for SQL Server when they are released
Access to all ODBC Driver for SQL Server updates and bug fixes
Notifications about new product versions

Priority Support
ODBC Driver for SQL Server Priority Support is an advanced product support service for
getting expedited individual assistance with ODBC Driver for SQL Server-related questions
from the ODBC Driver for SQL Server 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 SQL Server Subscription.
To get help through the ODBC Driver for SQL Server 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 SQL Server Registration number.


Full ODBC Driver for SQL Server edition name and version number. You can find the
version number in DLL version information.
Versions of the SQL Server server and client you are using.

© 2020 Devart
16 ODBC Driver for SQL Server

A detailed problem description.


If possible, ODBC Administrator Log, scripts for creating and filling in database objects, and
the application using ODBC Driver for SQL Server.

If you have any questions regarding licensing or subscriptions, please see the FAQ or
contact [email protected]
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

3 Using ODBC Driver

1. Installation
2. Connecting to SQL Server
3. Connection String Options
4. Secure Connections
o SSL Connection
o SSH Connection
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-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

3.1 Installation
ODBC Driver for SQL Server currently supports the following platforms: Windows, macOS,
Linux, both 32-bit and 64-bit.

See how to install Devart ODBC Driver for SQL Server :


Windows
Windows Silent
macOS
Linux DEB Package
Linux RPM Package

© 2020 Devart
Using ODBC Driver 17

© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.
3.1.1 Windows

Installation
1. Download and run the installer executive file.

2. Follow the instructions in the wizard.

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

© 2020 Devart
18 ODBC Driver for SQL Server

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.

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.

© 2020 Devart
Using ODBC Driver 19

7. If you have the activation key file, click the Load Activation Key button and browse to it.

8. Click Next.

© 2020 Devart
20 ODBC Driver for SQL Server

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-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.
3.1.2 Windows Silent

Silent Installation with OEM license on Windows


1. Run the Command Prompt as an administrator.

2. Use the following command-lines to perform the driver silent/very silent installation:

DevartODBCSQLServer.exe /SILENT /ActivationKey=y1c7nmgdu234laszxcvONGurjfhxm


DevartODBCSQLServer.exe /VERYSILENT /ActivationKey=ekhdh765mh09ukr237gfHRtri
Note: The installation is performed by entering a license key.
DevartODBCSQLServer.exe /SILENT /ActivationFile=d:\lic.key
DevartODBCSQLServer.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-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.
3.1.3 macOS

Prerequisites

© 2020 Devart
Using ODBC Driver 21

ODBC Driver for SQL Server 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 SQL Server is compatible with iODBC driver manager.
In case when using other ODBC driver managers, ODBC Driver for SQL Server will be
installed, but it will require manual modification of configuration files of these managers.

Installation
1. 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.

© 2020 Devart
22 ODBC Driver for SQL Server

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.

© 2020 Devart
Using ODBC Driver 23

6. If you have the activation key file, click the Load Activation Key button and browse to it.

© 2020 Devart
24 ODBC Driver for SQL Server

7. Click Continue.

8. Click Install.

9. Driver is installed successfully.

© 2020 Devart
Using ODBC Driver 25

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_SQLSERVER is created. You can
use it to test a connection with SQLSERVER server. For this, perform the following steps:
1. Run the iODBC utility of the required bitness. Find the DEVART_SQLSERVER section and
click the Configure button:

© 2020 Devart
26 ODBC Driver for SQL Server

2. In the appeared dialog, specify the required connection settings and click OK.

© 2020 Devart
Using ODBC Driver 27

3. Now click the Test button to establish a test connection to your data source.

© 2020 Devart
28 ODBC Driver for SQL Server

See also:
Installation on Windows
Install Linux DEB package
Install Linux RPM package
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.
3.1.4 Linux DEB Package

Prerequisites
ODBC Driver for SQL Server 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 SQL Server is compatible with UnixODBC driver manager.
In case when using other ODBC driver managers, ODBC Driver for SQL Server will be

© 2020 Devart
Using ODBC Driver 29

installed, but it will require manual modification of configuration files of these managers.

Installation
Let'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 installation
1. 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

© 2020 Devart
30 ODBC Driver for SQL Server

one.

Command-line installation
1. 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 devartodbcsqlserver_i386.deb on a 32-bit system, use the following

command:

sudo dpkg -i devartodbcsqlserver_i386.deb

To install the devartodbcsqlserver_amd64.deb on a 64-bit system, use the following


command:
sudo dpkg -i devartodbcsqlserver_amd64.deb

5. Driver is installed successfully.

© 2020 Devart
Using ODBC Driver 31

To activate the driver, perform the steps described in the Product Activation article.

Test connection
After the driver is installed, a DSN with the name DEVART_SQLSERVER is created. You can
use it to test connection with SQLSERVER server. For this, perform the following steps:
1. Open the odbc.ini file located in the /etc folder. Find the DEVART_SQLSERVER section
and specify the required connection settings:
User ID=<your SQL Server User Name>
Password=<your SQL Server password>
Server=<your SQL Server server address>
Port=<your SQL Server Port>
Database=<your SQL Server database name>
2. Run the UnixODBC Test Command utility and test a connection using the following
command:
isql -v DEVART_SQLSERVER

© 2020 Devart
32 ODBC Driver for SQL Server

See also:
Install Linux RPM package
Installation on Windows
Installation on macOS
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.
3.1.5 Linux RPM Package

Prerequisites
ODBC Driver for SQL Server 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 SQL Server is compatible with UnixODBC driver manager.
In case when using other ODBC driver managers, ODBC Driver for SQL Server will be
installed, but it will require manual modification of configuration files of these managers.

Installation
Let'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

© 2020 Devart
Using ODBC Driver 33

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-sqlserver.i386.rpm on a 32-bit

system:

sudo rpm -ivh devart-odbc-sqlserver.i386.rpm

Use the following command to install the devart-odbc-sqlserver.x86_64.rpm on a 64-bit


system:
sudo rpm -ivh devart-odbc-sqlserver.x86_64.rpm

5. Driver is installed successfully.

© 2020 Devart
34 ODBC Driver for SQL Server

To activate the driver, perform the steps described in the Product Activation article.

Test connection
After the driver is installed, a DSN with the name DEVART_SQLSERVER is created. You can
use it to test connection with SQLSERVER server. For this, perform the following steps:
1. Open the odbc.ini file located in the /etc folder. Find the DEVART_SQLSERVER section
and specify the required connection settings:
User ID=<your SQL Server User Name>
Password=<your SQL Server password>
Server=<your SQL Server server address>
Port=<your SQL Server Port>
Database=<your SQL Server database name>
2. Run the UnixODBC Test Command utility and test a connection using the following
command:
isql -v DEVART_SQLSERVER

© 2020 Devart
Using ODBC Driver 35

See also:
Install Linux DEB package
Installation on Windows
Installation on macOS
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

3.2 Connecting to SQL Server

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 SQL Server to the list of System Data Sources
or User Data Sources or File Data Sources using the ODBC Data Source

© 2020 Devart
36 ODBC Driver for SQL Server

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 SQL Server and click Finish.

© 2020 Devart
Using ODBC Driver 37

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.

© 2020 Devart
38 ODBC Driver for SQL Server

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-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

3.3 Connection String Options

SQL Server Connection Options


The following table describes the options that you can include in the connection string for SQL
Server:

Option Description
Database Used to set the name of the database

© 2020 Devart
Using ODBC Driver 39

Password Used to supply a password for login.

Port Used to specify the port number for the


connection. 1433 by default.
Server Serves to supply the server name for login.
Username Used to supply a user name for login.

Advanced Settings

Option Description
Allow NULL
To retrieve metadata, not all parameters according to MSDN can accept a
strings
null value. If NULL, the driver should return an error. But some 3rd-party
Empty
tools pass NULL to the parameters. These options should be enabled for
strings as
compatibility with such tools.
NULL
ApplicationI Used to specify the application workload type when connecting to a
ntent server.
Application The name of a client application. The default value is the name of the
Name executable file of your application.
AutoTranslat Used to translate character strings sent between the client and server by
e converting through Unicode.
ConnectionT Used to specify the time in seconds before an attempt to make a
imeout connection is considered unsuccessful.
Encryption Specifies if data should be encrypted before sending it over the network.
Used to specify the version of the Internet Protocol. IPv4 and IPv6 are
IPVersion available. The IPv4 + IPv6 value allows to check for available protocol
versions and use the first available automatically.
MultipleActiv
Enables support for the Multiple Active Result Sets (MARS) technology.
eResultSets
MultipleCon Enables or disables the creation of additional connections to support
nections concurrent sessions, commands and rowset objects.

Used to set the behavior corresponding to the ODBC specification


ODBC
version that a third-party tool expects. The behavior of ODBC driver can
Behavior
be changed by setting a value for the SQL_ATTR_ODBC_VERSION

© 2020 Devart
40 ODBC Driver for SQL Server

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.
PacketSize Network packet size in bytes.
RegionalNu
mberSetting Enables using local regional settings when converting numbers to string.
s
RegionalDat
Enables using local regional settings when converting dates and times to
eTimeSettin
string.
gs
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.
String Types
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.

SQL Server ODBC Connection String sample


DRIVER={Devart ODBC Driver for SQL Server};Data
Source=DBMSSQL;User ID=sa;Port=1433
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

© 2020 Devart
Using ODBC Driver 41

3.4 Secure Connections


This section describes the principles of establishing secure connections to SQL Server using
ODBC Driver for SQL Server.
SSL Connection Description
SSH Connection Description
HTTP Tunneling Description
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

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.
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.

© 2020 Devart
42 ODBC Driver for SQL Server

SSL is based on algorithms of asymmetric encryption and digital signature. Consult SQL
Server Reference Manual for information about How to enable SSL encryption for an instance
of SQL Server by using Microsoft Management Console .

Note:
Usage of SSL is more preferable for SQL Server connections than SSH because of less
required settings and higher performance.

How to connect to SQL Server using SSL


To use SSL encryption for connection to SQL Server, enable the Use Encryption for Data
option.

SSL Options Description

© 2020 Devart
Using ODBC Driver 43

Option Description
Enables or disables data encryption using
Use Encryption for Data
SSL.

Example Connection String


User ID=sa;Data Source=DBMSSQL;Port=1433;Encryption=true;
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.
3.4.2 SSH Connection
ODBC Driver for SQL Server allows connection to SQL Server 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:

This connection method provides secure connection between your application using ODBC
Driver for SQL Server 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.

© 2020 Devart
44 ODBC Driver for SQL Server

SSH Configuration using OpenSSH or other third-party


SSH tunnel
The 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 SQL Server server, but communication channel between SSH server
and SQL Server 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
mkgroup -l >> ..\etc\group
o Run OpenSSH service
net start opensshd

Note:
There is no need to install SSH client, since ODBC Driver for SQL Server itself implements
SSH client functionality.

About the methods of higher protection (key authentication, etc.) see documentation for
OpenSSH.

How to establish SSH connection to SQL Server


To establish a SSH connection to SQL Server, the corresponding connection options have to
be set, like shown below:

© 2020 Devart
Using ODBC Driver 45

SSH Options Description:


Option Description
Use SSH Enables or disables SSH tunneling.
Holds the host name or IP address of the
SSH Host name
SSH server to connect to.
Used to specify the port number for SSH
SSH Port
connection.
SSH User Name Sets the SSH user name for authentication.
Sets the SSH user password for
SSH Password
authentication.

© 2020 Devart
46 ODBC Driver for SQL Server

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
SSH Client Key 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.
Used to specify the passphrase to unlock
SSH Client Key Password
the private key.
Used to specify the SSH public key
SSH Server Key
filename.
Used to specify the path to the directory
SSH StoragePath
where the encyption keys are stored.

Example Connection String:


User ID=sa;Data Source=DBMSSQL;Port=1433;Use SSH=true;SSH
Hostname=localhost;SSH Port=22;SSH Username=SSHUser;SSH
Password=SSHPass;SSH Client Key=PrivateKey.pem;SSH Client Key
Password=SSHPassphrase;SSH Server Key=PublicKey.pem;SSH Storage
Path=D:\Keys\
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.
3.4.3 HTTP Tunneling

Connection through HTTP tunnel


Sometimes 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

© 2020 Devart
Using ODBC Driver 47

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 SQL Server. It is available at the
driver installation path, in the http folder, by default: C:\Program Files (x86)\Devart\ODBC\SQL
Server\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

© 2020 Devart
48 ODBC Driver for SQL Server

HTTP Options Description


Option Description
Use Http Enables or disables HTTP tunneling.
Http Url Holds the url of the tunneling PHP script.
Http
Set these properties if the access to the website folder with the script is
Username
available only for registered users authenticated with user name and
Http
password.
Password
This option specifies whether or not the driver should trust the server
Http Trust
certificate when connecting to the server. The default value is False – the
Server
driver won't trust the server certificate and will verify validity of the server
Certificate
certificate instead. If set to True, the driver will trust the server certificate.

Example Connection String


User ID=sa;Data Source=192.168.0.10;Port=1433;Use
Http=true;Url=http://server/tunnel.php;Http Username=HttpUser;Http
Password=HttpPassword;

Connection through proxy and HTTP tunnel


Consider 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:

© 2020 Devart
Using ODBC Driver 49

Proxy Options Description


Option Description
Holds the host name or IP address of the
Proxy Host Name
proxy server to connect to.
Used to specify the port number for TCP/IP
Proxy Port
connection with proxy server.
Proxy Username Holds the proxy server account name.
Holds the password for the proxy server
Proxy Password
account.

Example Connection String


User ID=sa;Data Source=192.168.0.10;Port=1433;Use

© 2020 Devart
50 ODBC Driver for SQL Server

Http=true;Url=http://server/tunnel.php;Proxy
Hostname=10.0.0.1;Proxy Port=3128;Proxy User=ProxyUser;Proxy
Password=ProxyPassword;

Additional information
Technically 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 SQL Server.
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-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

3.5 Product Activation

See how to activate Devart ODBC Driver for SQL Server :


Obtaining Activation Key
Activation on Windows
Activation on macOS
Activation on Linux
Where to see the license information
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.
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.
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

© 2020 Devart
Using ODBC Driver 51

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-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.
3.5.2 Activation on Windows

Driver Activation After Installation


To activate your installed driver using ODBC Administrator, perform the following steps:
1. Run ODBC Administrator.

2. In the System DSN tab click the Add button.

© 2020 Devart
52 ODBC Driver for SQL Server

3. In the appeared dialog box, select the installed driver, click Finish.

© 2020 Devart
Using ODBC Driver 53

4. In the Driver Configuration dialog box, on the License tab, click the Input Activation Key

button.

© 2020 Devart
54 ODBC Driver for SQL Server

5. Copy the activation key from the registration email carefully and paste it into the Input

Activation Key edit box.

6. If you have the activation key file, click the Load Key button and browse to it.

7. Click OK.

© 2015-2020 Request Support ODBC Forum Provide Feedback

© 2020 Devart
Using ODBC Driver 55

Devart. All Rights


Reserved.
3.5.3 Activation on macOS

Driver Activation After Installation


If 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 SQL Server it is /Library/ODBC/Devart/SqlServer by default).

See also:
Activation on Windows
Activation on Linux
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.
3.5.4 Activation on Linux

Driver Activation After Installation


If 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 SQL Server it is /usr/share/devart/odbcsqlserver by default).

See also:
© 2020 Devart
56 ODBC Driver for SQL Server

Activation on Windows
Activation on macOS
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.
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

© 2020 Devart
Using ODBC Driver 57

3. Select the driver and click Finish

© 2020 Devart
58 ODBC Driver for SQL Server

4. In the appeared dialogue, select the License tab

© 2020 Devart
Using ODBC Driver 59

See also
Product Activation
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

3.6 Sandboxed Apps on macOS

Sandboxed Apps on macOS


Sandboxed 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
iODBC Driver Manager on macOS. When retrieving data from a database into an application
such as Excel via ODBC Driver for SQL Server 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.

© 2020 Devart
60 ODBC Driver for SQL Server

Disabling System Integration Protection (SIP) on macOS


To 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".

© 2020 Devart
Using ODBC Driver 61

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-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

3.7 Using with iODBC

Using ODBC Driver for SQL Server with iODBC


Among 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.
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

© 2020 Devart
62 ODBC Driver for SQL Server

3.8 Supported Data Types


ODBC Driver for SQL Server supports all the SQL Server data types.
The complete list of SQL Server data types is available in the SQL Server documentation.

Data Type Mapping


The following table describes how ODBC data types are mapped to SQL Server data types.

SQL Server Data Types ODBC Data Types


tinyint
SQL_TINYINT
tinyint identity
smallint
SQL_SMALLINT
smallint identity
int
SQL_INTEGER
int identity
bigint
SQL_BIGINT
bigint identity
decimal
money
SQL_DECIMAL
smallmoney
decimal() identity
numeric
SQL_NUMERIC
numeric() identity
char SQL_CHAR
nchar SQL_WCHAR
varchar SQL_VARCHAR
nvarchar SQL_WVARCHAR
sysname SQL_WVARCHAR
text SQL_LONGVARCHAR
ntext SQL_WLONGVARCHAR
binary
SQL_BINARY
timestamp
datetimeoffset
time SQL_TYPE_TIMESTAMP
datetime2

© 2020 Devart
Using ODBC Driver 63

datetime
smalldatetime
varbinary SQL_VARBINARY
xml SQL_XML
sql_variant SQL_VARIANT
uniqueidentifier SQL_GUID
bit SQL_BIT
float SQL_FLOAT
image SQL_LONGVARBINARY
real SQL_REAL
date SQL_TYPE_DATE
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

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 SQL Server. 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 SQL Server supports all deprecated
functions.

The following tables list ODBC Driver for SQL Server calls grouped by task:

ODBC API Calls for Connecting to a Data Source


Function Name Support Standard Purpose
Obtains an
environment,
SQLAllocHandle ISO 92 connection,
statement, or
descriptor handle.

© 2020 Devart
64 ODBC Driver for SQL Server

Connects to a
specific driver by
SQLConnect ISO 92 data source name,
user ID, and
password.
Connects to a
specific driver by
connection string or
requests that the
SQLDriverConnect ODBC
Driver Manager and
driver display
connection dialog
boxes for the user.
Obtains an
environment handle
SQLAllocEnv Deprecated
allocated from
driver.
Obtains a
SQLAllocConnect Deprecated
connection handle

ODBC API Calls for Obtaining Information about a Driver


and Data Source
Function Name Support Standard Purpose
Returns the list of
available data
SQLDataSources ISO 92
sources, handled by
the Driver Manager
Returns the list of
installed drivers and
SQLDrivers ODBC their attributes,
handles by Driver
Manager

© 2020 Devart
Using ODBC Driver 65

Returns information
about a specific
SQLGetInfo ISO 92
driver and data
source.
Returns supported
SQLGetFunctions ISO 92
driver functions.
Returns information
SQLGetTypeInfo ISO 92 about supported
data types.

ODBC API Calls for Setting and Retrieving Driver


Attributes
Function Name Support Standard Purpose
Sets a connection
SQLSetConnectAttr ISO 92
attribute.
Returns the value of
SQLGetConnectAttr ISO 92 a connection
attribute.
SQLSetConnectOpti Sets a connection
Deprecated
on option
SQLGetConnectOpt Returns the value of
Deprecated
ion a connection option
Sets an environment
SQLSetEnvAttr ISO 92
attribute.
Returns the value of
SQLGetEnvAttr ISO 92 an environment
attribute.
Sets a statement
SQLSetStmtAttr ISO 92
attribute.
Returns the value of
SQLGetStmtAttr ISO 92 a statement
attribute.

© 2020 Devart
66 ODBC Driver for SQL Server

Sets a statement
SQLSetStmtOption Deprecated
option
Returns the value of
SQLGetStmtOption Deprecated
a statement option

ODBC API Calls for Preparing SQL Requests


Function Name Support Standard Purpose
Allocates a
SQLAllocStmt Deprecated
statement handle
Prepares an SQL
SQLPrepare ISO 92 statement for later
execution.
Assigns storage for
SQLBindParameter ODBC a parameter in an
SQL statement.
Returns the cursor
SQLGetCursorNam name associated
ISO 92
e with a statement
handle.
SQLSetCursorNam Specifies a cursor
ISO 92
e name.
Sets options that
SQLSetScrollOption
ODBC control cursor
s
behavior.

ODBC API Calls for Submitting Requests


Function Name Support Standard Purpose
Executes a
SQLExecute ISO 92
prepared statement.
Executes a
SQLExecDirect ISO 92
statement

© 2020 Devart
Using ODBC Driver 67

Returns the text of an


SQL statement as
SQLNativeSql ODBC
translated by the
driver.
Returns the
description for a
SQLDescribeParam ODBC
specific parameter
in a statement.
Returns the number
SQLNumParams ISO 92 of parameters in a
statement.
Used in conjunction
with SQLPutData to
supply parameter
SQLParamData ISO 92
data at execution
time. (Useful for long
data values.)
Sends part or all of a
data value for a
SQLPutData ISO 92
parameter. (Useful
for long data values.)

ODBC API Calls for Retrieving Results and Information


about Results
Function Name Support Standard Purpose
Returns the number
of rows affected by
SQLRowCount ISO 92
an insert, update, or
delete request.
Returns the number
SQLNumResultCols ISO 92 of columns in the
result set.

© 2020 Devart
68 ODBC Driver for SQL Server

Describes a column
SQLDescribeCol ISO 92
in the result set.
Describes attributes
SQLColAttribute ISO 92 of a column in the
result set.
Describes attributes
SQLColAttributes Deprecated of a column in the
result set.
Returns multiple
SQLFetch ISO 92
result rows.
Returns scrollable
SQLFetchScroll ISO 92
result rows.
Returns scrollable
SQLExtendedFetch Deprecated
result rows.
Positions a cursor
within a fetched
block of data and
enables an
SQLSetPos ODBC application to
refresh data in the
rowset or to update
or delete data in the
result set.
Performs bulk
insertions and bulk
bookmark
SQLBulkOperations ODBC
operations, including
update, delete, and
fetch by bookmark.

ODBC API Calls for Retrieving Error or Diagnostic


Information

© 2020 Devart
Using ODBC Driver 69

Function Name Support Standard Purpose


Returns additional
SQLError Deprecated error or status
information
Returns additional
diagnostic
information (a single
SQLGetDiagField ISO 92
field of the
diagnostic data
structure).
Returns additional
diagnostic
information (multiple
SQLGetDiagRec ISO 92
fields of the
diagnostic data
structure).

ODBC API Calls for Obtaining Information about the


Data Source's System Tables (Catalog Functions) Item
Function Name Support Standard Purpose
Returns a list of
columns and
SQLColumnPrivileg
ODBC associated
es
privileges for one or
more tables.
Returns the list of
SQLColumns X/Open column names in
specified tables.

Returns a list of
column names that
SQLForeignKeys ODBC
make up foreign
keys, if they exist for

© 2020 Devart
70 ODBC Driver for SQL Server

a specified table.
Returns the list of
column names that
SQLPrimaryKeys ODBC
make up the primary
key for a table.
Returns information
about the optimal set
of columns that
uniquely identifies a
row in a specified
SQLSpecialColumn table, or the columns
X/Open
s that are
automatically
updated when any
value in the row is
updated by a
transaction.
Returns statistics
about a single table
SQLStatistics ISO 92 and the list of
indexes associated
with the table.
Returns a list of
tables and the
SQLTablePrivileges ODBC privileges
associated with
each table.
Returns the list of
table names stored
SQLTables X/Open
in a specific data
source.

ODBC API Calls for Performing Transactions


© 2020 Devart
Using ODBC Driver 71

Function Name Support Standard Purpose


Commits or rolls
SQLTransact Deprecated
back a transaction
Commits or rolls
SQLEndTran ISO 92
back a transaction.

ODBC API Calls for Terminating a Statement


Function Name Support Standard Purpose
Ends statement
processing,
discards pending
results, and,
SQLFreeStmt ISO 92
optionally, frees all
resources
associated with the
statement handle.
Closes a cursor that
SQLCloseCursor ISO 92 has been opened on
a statement handle.
Cancels an SQL
SQLCancel ISO 92
statement.

ODBC API Calls for Terminating a Connection


Function Name Support Standard Purpose
Closes the
SQLDisconnect ISO 92
connection.
Releases an
environment,
SQLFreeHandle ISO 92 connection,
statement, or
descriptor handle.

© 2020 Devart
72 ODBC Driver for SQL Server

Releases
SQLFreeConnect Deprecated
connection handle.
Releases an
SQLFreeEnv Deprecated
environment handle.
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

4 Using in Third-Party Tools

This section describes main principles of using ODBC Driver for SQL Server 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-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

4.1 Using in DBeaver

DBeaver Overview
DBeaver 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,

© 2020 Devart
Using in Third-Party Tools 73

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
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 SQL Server via the Open Database Connectivity
driver.

Creating an ODBC Data Source to Use SQL Server Data


in DBeaver
1. 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 SQL Server in the list.
5. Give a name to your data source, e.g. SQL Server_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 SQL Server 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,

© 2020 Devart
74 ODBC Driver for SQL Server

SQL_VARCHAR and SQL_LONGVARCHAR.

Connecting to SQL Server Data from DBeaver via ODBC


Driver for SQL Server
Follow the steps below to establish a connection to SQL Server in DBeaver.
1. In the Database menu, select New Database Connection.

© 2020 Devart
Using in Third-Party Tools 75

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.

© 2020 Devart
76 ODBC Driver for SQL Server

Viewing SQL Server Database Objects and Querying Data


You can expand out the database structure in DBeaver's Database Navigator to visualize all
the tables in SQL Server 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.

© 2020 Devart
Using in Third-Party Tools 77

© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

4.2 Using in Microsoft Access

Connecting Microsoft Access to SQL Server Using an


ODBC Driver
This article explains how to connect Microsoft Access to SQL Server 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 SQL Server 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 SQL Server. For the purpose of this article, we tested an ODBC connection to SQL
Server 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 SQL Server.

© 2020 Devart
78 ODBC Driver for SQL Server

Importing SQL Server Data Into Microsoft Access Through an ODBC


Connection
1. 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 SQL Server 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 SQL Server Data in Microsoft Access Through an ODBC


Connection
1. 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 SQL Server 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 SQL Server 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.

© 2020 Devart
Using in Third-Party Tools 79

© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

4.3 Using in Microsoft Excel

Connecting to SQL Server from Microsoft Excel using


ODBC Driver for SQL Server
You can use Microsoft Excel to access data from a SQL Server 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 SQL Server with Get & Transform (Power Query)
Connecting Excel to SQL Server with Data Connection Wizard (Legacy Wizard)
Connecting Excel to SQL Server with the Query Wizard
Connecting Excel to SQL Server with Microsoft Query
Connecting Excel to SQL Server with PowerPivot

Connecting Excel to SQL Server with Get & Transform


(Power Query)
You can use Get & Transform (Power Query) to connect to SQL Server from Excel with
ODBC. This method assumes that you've installed an ODBC driver for SQL Server.
1. Click the Data in Excel, then expand the Get Data drop-down list. Click From Other
Sources > From ODBC.

© 2020 Devart
80 ODBC Driver for SQL Server

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.

© 2020 Devart
Using in Third-Party Tools 81

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

© 2020 Devart
82 ODBC Driver for SQL Server

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.

© 2020 Devart
Using in Third-Party Tools 83

Connecting Excel to SQL Server with Data Connection


Wizard (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 SQL Server with the Query Wizard


You can use this option to create a simple query for retrieving data from SQL Server to Excel
via ODBC driver.

© 2020 Devart
84 ODBC Driver for SQL Server

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 SQL Server with Microsoft Query


You can use this option to create a more complex query for retrieving SQL Server 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 SQL Server). 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 SQL Server 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 SQL Server), and then click Next.
6. Now you should choose how to import the data (either select a table from the list or write a

© 2020 Devart
Using in Third-Party Tools 85

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-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

4.4 Using in SQL Server Management Studio


This section describes how to establish and troubleshoot a connection to SQL Server from
SQL Server Management Studio using ODBC Driver for SQL Server.
Using in SQL Server Management Studio (SSMS)
Troubleshooting in SSMS
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.
4.4.1 Using in SSMS

Requirements
In 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 SQL Server and SQL Server must be installed on the same computer.
.NET Framework 4.5 must be installed on the computer.

Connecting to SQL Server from SQL Server


Management Studio using ODBC Driver for SQL Server
You can use the Microsoft SQL Server Management Studio to connect your SQL Server 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 SQL

© 2020 Devart
86 ODBC Driver for SQL Server

Server 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 SQL Server:
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 connect


to SQL Server
You can follow the steps to create a linked server for SQL Server 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 SQL
Server . 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 SQL Server databases through SQL Server.

Retrieving Data From SQL Server


Disable 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

© 2020 Devart
Using in Third-Party Tools 87

In the appeared Provider Options window, clear the Allow inprocess checkbox:

Create a new Linked Server

© 2020 Devart
88 ODBC Driver for SQL Server

Make sure to select Microsoft OLE DB Provider for ODBC Drivers and specify the
following parameters:

The SQL Server tables are already available to be fetched. To query the linked server, click
New Query in the toolbar:

© 2020 Devart
Using in Third-Party Tools 89

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 SQL
Server account you are connected to.

Attention
© 2020 Devart
90 ODBC Driver for SQL Server

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 also
Troubleshooting SSMS
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.
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:

© 2020 Devart
Using in Third-Party Tools 91

4. Go to the Security Tab, Choose ‘Customize’ and click on the ‘Edit’ Button:

© 2020 Devart
92 ODBC Driver for SQL Server

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:

© 2020 Devart
Using in Third-Party Tools 93

4. Change the owner to Administrators.


5. Now, grant ‘Full Control’ to Administrators:

© 2020 Devart
94 ODBC Driver for SQL Server

After this you should be able to edit MSDAINITIALIZE security settings .

See also
Error 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-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

4.5 Using in Omnis Studio

When using ODBC Driver for SQL Server in Omnis Studio as a data source, Omnis Studio
does not display tables and other objects from dbo schema (it considers them as system
ones). To solve the issue, do the following:

1. After creating a session using Session Manager, in the SQL Browser tab, click Options.

© 2020 Devart
Using in Third-Party Tools 95

2. In the opened dialog, check Include System objects and click Save.

© 2020 Devart
96 ODBC Driver for SQL Server

In this case, all the required tables and objects will be displayed by Omnis Studio.
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

4.6 Using in OpenOffice and LibreOffice

Connecting to SQL Server from OpenOffice and


LibreOffice using ODBC Driver for SQL Server
The article describes how to use Apache OpenOffice and LibreOffice to access ODBC data
sources using the respective driver. You can access SQL Server 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

© 2020 Devart
Using in Third-Party Tools 97

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 SQL
Server, 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.

© 2020 Devart
98 ODBC Driver for SQL Server

2. In the Database Wizard dialog box, click Connect to an existing database, select
ODBC from the drop-down list, and click Next.

© 2020 Devart
Using in Third-Party Tools 99

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 SQL Server, or you can click
Browse, double-click the data source you need, and then click Next.

© 2020 Devart
100 ODBC Driver for SQL Server

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 SQL Server and leave these fields empty in Database Wizard.

© 2020 Devart
Using in Third-Party Tools 101

To test the connection to your data source, click Test Connection, input your credentials
and click OK.

© 2020 Devart
102 ODBC Driver for SQL Server

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.

© 2020 Devart
Using in Third-Party Tools 103

You will be prompted to give a name to your new database and select the directory where you
want to store it.

© 2020 Devart
104 ODBC Driver for SQL Server

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.

© 2020 Devart
Using in Third-Party Tools 105

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.

© 2020 Devart
106 ODBC Driver for SQL Server

© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

4.7 Using in PHP

Connecting to SQL Server from PHP using ODBC Driver


for SQL Server
PHP 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 SQL Server via ODBC. The script connects to
SQL Server 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.

© 2020 Devart
Using in Third-Party Tools 107

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 SQL Serve

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-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

4.8 Using in Power BI

Importing SQL Server Data into Power BI Through an


ODBC Connection
Power 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 SQL Server, you can use a
corresponding ODBC driver.

© 2020 Devart
108 ODBC Driver for SQL Server

This tutorial explores how to connect to SQL Server 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 SQL Server.
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 SQL Server
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 SQL Server data into Power BI for analysis, select the needed table and click
Load.
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

4.9 Using in Python

Installing the ODBC Driver for SQL Server


One 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 SQL Server. 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 SQL Server from Python using ODBC


Driver for SQL Server

© 2020 Devart
Using in Third-Party Tools 109

Here’s an example to show you how to connect to SQL Server via Devart ODBC Driver in
Python. 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 SQL Server};Server=my

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, 'Scot
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-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

4.10 Using in QlikView

Connecting to SQL Server from QlikView using ODBC


Driver for SQL Server
This tutorial describes how to connect and configure QlikView to retrieve data from SQL
Server 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.

© 2020 Devart
110 ODBC Driver for SQL Server

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.

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 SQL Server, 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.

© 2020 Devart
Using in Third-Party Tools 111

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.

© 2020 Devart
112 ODBC Driver for SQL Server

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
table. Choose Layout > New Sheet Object > Table Box. Select the fields to be added to
the tablebox and click OK.

© 2020 Devart
Using in Third-Party Tools 113

© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

4.11 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 SQL Server as a
translation layer between the data source and SSIS, the driver and SSIS communicate via
Microsoft ODBC version 3.x.

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

© 2020 Devart
114 ODBC Driver for SQL Server

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-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

4.12 Using in Tableau


This section describes how to establish and troubleshoot a connection to SQL Server from
Tableau using ODBC Driver for SQL Server.
Using in Tableau
Troubleshooting in Tableau on macOS

© 2015-2020
Request Support ODBC Forum Provide Feedback
Devart. All Rights

© 2020 Devart
Using in Third-Party Tools 115

Reserved.
4.12.1 Using in Tableau

Importing SQL Server Data Into Tableau Through an


ODBC Connection
This article explains to establish and ODBC connection to SQL Server 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 SQL Server. Alternatively, if you have not created a DSN, you can choose the Driver
option and select Devart ODBC Driver for SQL Server from the drop-down.
5. Click Connect.
6. After a successful connection, click Sign in.
7. Select the needed database and schema in SQL Server.
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-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.
4.12.2 Troubleshooting in Tableau on macOS

Using ODBC Driver for SQL Server with Tableau on


macOS
iODBC driver manager incorrectly handles SQL_WCHAR and SQL_WVARCHAR ODBC
data types. To work with these data types in Tableau using ODBC driver for SQL Server,
create a Tableau Datasource Customisation (.tdc) file in 'Users\[your name]\Documents\My
Tableau Repository\Datasources' and add the following section to the file:

© 2020 Devart
116 ODBC Driver for SQL Server

<?xml version='1.0' encoding='utf-8' ?>


<connection-customization class='genericodbc' enabled='true' version='1.0'>
<vendor name='SQL Server' />
<driver name='Devart ODBC Driver for SQL Server' />
<customizations>
<customization name='CAP_ODBC_BIND_SUPPRESS_WIDE_CHAR' value='yes'
</customizations>
</connection-customization>
© 2015-2020
Devart. All Rights Request Support ODBC Forum Provide Feedback
Reserved.

© 2020 Devart

You might also like