Upload
buithuan
View
226
Download
3
Embed Size (px)
Citation preview
IContents
© 2018 Devart
Table of ContentsPart I What's New 1
Part II General Information 2
................................................................................................................................... 31 Overview
................................................................................................................................... 42 Features
................................................................................................................................... 63 Compatibility
................................................................................................................................... 84 Requirements
................................................................................................................................... 85 Licensing
................................................................................................................................... 126 Getting Support
Part III Using ODBC Driver 13
................................................................................................................................... 131 Installation
.......................................................................................................................................................... 14Windows
.......................................................................................................................................................... 17macOS
.......................................................................................................................................................... 27Linux
................................................................................................................................... 332 Connecting to SQLServer
................................................................................................................................... 363 Connection Options
................................................................................................................................... 374 Secure Connections
.......................................................................................................................................................... 37SSL Connection Description
.......................................................................................................................................................... 39SSH Connection Description
.......................................................................................................................................................... 43HTTP Tunneling Description
................................................................................................................................... 465 Product Activation
.......................................................................................................................................................... 46Obtaining Activation Key
.......................................................................................................................................................... 47Activation on Windows
.......................................................................................................................................................... 51Activation on macOS
.......................................................................................................................................................... 51Activation on Linux
.......................................................................................................................................................... 52Where to See the License Information?
................................................................................................................................... 546 Supported Data Types
................................................................................................................................... 547 Supported ODBC API Functions
ODBC Driver for SQL Server1
© 2018 Devart
1 What's New
26-Feb-18 New features in ODBC Driver for SQL Server2.3
Performance of batch operations is significantly improved
The SSHStoragePath connection parameter is added
23-Oct-17 New features in ODBC Driver for SQL Server2.2
Compatibility with SAS JMP is improved
Compatibility with MS Power Query is improved
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 Server2.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 Server2.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
What's New 2
© 2018 Devart
Bug with Trial expiration in Microsoft SQL Server Management Studio is fixed
06-Jan-16 New features in ODBC Driver for SQL Server1.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 Server1.2
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 Server1.1
Performance is improved
20-May-15 New features in ODBC Driver for SQL Server1.0
First release of ODBC Driver for SQL Server
Windows 32-bit is supported
Windows 64-bit is supported
2 General Information
1. Overview
2. Features
3. Compatibility
4. Requirements
5. Licensing
6. Getting Support
ODBC Driver for SQL Server3
© 2018 Devart
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.
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 connectionDatabase 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.
CompatibilityODBC 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)
General Information 4
© 2018 Devart
SQL Server 2008 (including Express edition)
SQL Server 2005 (including Express edition)
SQL Server 2000 (including MSDE)
SQL Server 7
2.2 Features
Direct ConnectionDatabase 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 ConformanceOur ODBC driver provides full support for common ODBC interface:
ODBC Data Types support
ODBC API Functions support
In addition, we provide support for Advanced Connection String parameters. Thus allowing
any desktop and web applications to connect to SQL Server from various environments and
platforms, that support ODBC.
ODBC Driver for SQL Server5
© 2018 Devart
Development Platforms VarietyODBC 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 CompatibilityODBC Driver for SQL Server supports the following server versions:
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
General Information 6
© 2018 Devart
High PerformanceAll our products are designed to help you write high-performance, lightweight data access
layers, therefore they use advanced data access algorithms and techniques of optimization.
SupportVisit our Support page to get instant support from experienced professionals, fast and detailed
responses, user engagement and interaction, frequent builds with bug fixes, and much more.
2.3 Compatibility
SQL Server CompatibilityODBC 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)
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)
ODBC Driver for SQL Server7
© 2018 Devart
SQL Server 2005 (including Express
edition)
SQL Server 2000 (including MSDE)
SQL Server 7
Supported Target PlatformsWindows, 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
Microsoft Visual Studio Server Explorer and ADO.NET ODBC Provider
Microsoft SQL Server ManagementStudio
Microsoft SQL Server IntegrationServices
Microsoft SQL Server Data Tools
Microsoft Visual FoxPro
Microsoft Office
Embarcadero Delphi & C++Builder UniDAC, FireDAC, dbGo (ADO), BDE anddbExpress
EMS SQL Management Studio
Adobe ColdFusion
Open Office
Crystal Reports
General Information 8
© 2018 Devart
QlikView
PHP
Python
Tableau
PowerBASIC
SAS JMP
Omnis Studio
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.
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
ODBC Driver for SQL Server9
© 2018 Devart
This Devart end-user license agreement ("Agreement") is a legal agreement between you
(either an individual person or a single legal entity) and Devart, for the use of the ODBC Driver
software application, demos, intermediate files, printed materials, and online or electronic
documentation contained in this installation file. For the purpose of this Agreement, the
software program(s) and supporting documentation will be referred to as the "Software".
LICENSE
1. GRANT OF LICENSE
The enclosed Software is licensed, not sold. You have the following rights and privileges,
subject to all limitations, restrictions, and policies specified in this Agreement.
1.1. If you are a legally licensed user, depending on the license type specified in the
registration letter you have received from Devart upon purchase of the Software:- the
"Desktop License" allows you to install and use the Software on a single desktop computer,
provided it is accessed by no more than one person at a time, either directly or remotely, for
sole purposes only in accordance with this Agreement. If more than one person can
simultaneously use the computer where you plan to install the product,you must purchase a
Server License. A Desktop License is valid for one single desktop installation;
- the "Server License" allows you to install and use the Software on a single server,provided it
is accessed by more than one person at a time, either directly or remotely.This definition
includes, but is not limited to, Web servers, application servers,batch servers, and desktop
workstations, where more than one concurrent users can access the Software. A Server
License is valid for one single server installation,provided it is used by 1 (one) legal entity in
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.
General Information 10
© 2018 Devart
2. LIMITATIONS
Only legally registered users are licensed to use the Software, subject to all of the conditions
of this Agreement. Usage of the Software is subject to the following restrictions.
2.1. You may not reverse engineer, decompile, or disassemble the Software.
2.2. You may not reproduce or distribute any Software documentation without express written
permission from Devart.
2.3. You may not distribute and sell any portion of the Software integrating it into your
Applications.
2.4. You may not transfer, assign, or modify the Software in whole or in part. In particular, the
Software license is non-transferable, and you may not transfer the Software installation
package.
2.5. You may not remove or alter any Devart's copyright, trademark, or other proprietary rights
notice contained in any portion of Devart files.
3. REDISTRIBUTION
The license grants you a non-exclusive right to reproduce any new software
programs(Applications) created using the Software. You cannot distribute the Software
integrated into your Applications. Any Devart's files remain Devart's exclusive property.
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
ODBC Driver for SQL Server11
© 2018 Devart
you must destroy the Software, all accompanying written materials, and all copies.
6. EVALUATION
Devart may provide evaluation ("Trial") versions of the Software. You may transfer or
distribute Trial versions of the Software as an original installation package only.If the Software
you have obtained is marked as a "Trial" version, you may install and use the Software for a
period of up to 30 calendar days from the date of installation(the "Trial Period"), subject to the
additional restriction that it is used solely for evaluation of the Software and not in conjunction
with the development or deployment of any application in production. You may not use
Applications developed using Trial versions of the Software for any commercial purposes.
Upon expiration of the Trial Period, the Software must be uninstalled, all its copies and all
accompanying written materials must be destroyed.
7. WARRANTY
The Software and documentation are provided "AS IS" without warranty of any kind.Devart
makes no warranties, expressed or implied, including, but not limited to, the implied
warranties of merchantability and fitness for a particular purpose or use.
8. SUBSCRIPTION AND SUPPORT
The Software is sold on a subscription basis. The Software subscription entitles you to
download improvements and enhancement from Devart's web site as they become available,
during the active subscription period. The initial subscription period is one year from the date
of purchase of the license. The subscription is automatically activated upon purchase, and
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
General Information 12
© 2018 Devart
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.
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 OptionsThere 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.
SubscriptionsThe 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 SupportODBC 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
ODBC Driver for SQL Server13
© 2018 Devart
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.
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]
3 Using ODBC Driver
1. Installation
2. Connecting to SQL Server
3. Connection Options
4. Secure Connections
o SSL Connection Description
o SSH Connection Description
o HTTP Tunneling Description
5. Product Activation
6. Supported Data Types
7. Supported ODBC API Functions
3.1 Installation
ODBC Driver for SQL Server currently supports such platforms as: Windows, macOS, Linux,
both 32-bit and 64-bit.
See how to install Devart ODBC Driver for SQL Serveron:
Windows
macOS
Linux
Using ODBC Driver 14
© 2018 Devart
3.1.1 Windows
Installation on Windows
Important Note:
Before installing the ODBC driver, make sure that another version of ODBC Driver for SQL
Server is not installed on the PC, since more than one version cannot be installed
simultaneously on one PC.
1. Run the installer executive file. In an explorer it must look like the following:
2. Follow the instructions in the wizard.
3. In case if you already have the specified installation folder on the PC or another Driver
ODBC Driver for SQL Server15
© 2018 Devart
version is installed, you will get a warning. Click Yes to overwrite the old files with the
current installation, but it is recommended to completely uninstall the previous driver
version first, and then install the new one.
4. On the Select Components page you can select whether to install the 64-bit version of the
driver or not. Clear the check box if you need no 64-bit installation. There is also a check
box on this page, that allows you to select whether to install Help and Manual.
5. In the License Information dialog box, you should select the license type and activate the
product. If you have no activation key, you can select Trial and use the driver for evaluation
purposes.
6. If you have an activation key, select the Activation Key option. Copy the activation key from
the registration email or your Customer Portal account and paste it into the Activation Key
edit box.
Using ODBC Driver 16
© 2018 Devart
7. If you have the activation key file, click the Load Activation Key button and browse to it.
ODBC Driver for SQL Server17
© 2018 Devart
8. Click Next.
9. Click Install, then Finish.
10.After the installation is completed, you need to configure the driver.
3.1.2 macOS
PrerequisitesODBC 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 2 ODBC driver managers:
iODBC
UnixODBC
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.
Using ODBC Driver 18
© 2018 Devart
InstallationTo install the driver, you should download the archive containing installation files, unpack and
run installation with root privileges. See the detailed description of these steps below:
1. Download the archive from Devart website. By default, the archive will be downloaded into
the ~/Downloads folder (or the selected one);
2. Run the 'Terminal' program;
3. Navigate to the 'Downloads' folder:
cd ./Users/test/Downloads
4. Unpack devartodbcsqlserver-osx.tar:
tar -xf devartodbcsqlserver-osx.tar
ODBC Driver for SQL Server19
© 2018 Devart
5. Execute the install.sh script with root user privileges and specify the password:
sudo ./install.sh
Using ODBC Driver 20
© 2018 Devart
6. Read the EULA carefully.
ODBC Driver for SQL Server21
© 2018 Devart
7. Agree to the license agreement:
Using ODBC Driver 22
© 2018 Devart
8. Select the installation folder for ODBC Driver for SQL Server (or accept the suggested
path):
ODBC Driver for SQL Server23
© 2018 Devart
9. Select the used ODBC driver manager (iODBC by default):
Using ODBC Driver 24
© 2018 Devart
10.Specify the path (or remain the default: /Library/ODBC) to odbc.ini and odbcinst.ini files.
ODBC Driver for SQL Server25
© 2018 Devart
11.If you have an activation key, you should create a file, for example with the "sqlserver.lic"
name on your computer and paste the activation key into it. Then, specify the path to it in
order to activate the product.
To add/update the sqlserver.lic file to an already installed driver, you need to create/replace
this file in the directory with the installed driver, and save the new activation key to it.
Using ODBC Driver 26
© 2018 Devart
Driver is installed successfully.
After the driver is installed, two DSNs with the names DEVART_SQLSERVER_x64 and
DEVART_SQLSERVER_x86 are created. You can use them to test connection with
SQLSERVER server, we will use DEVART_SQLSERVER_x64 as a sample. Now perform
the following steps:
1. Open the odbc.ini file, the location of which was indicated during the installation. Find the
DEVART_SQLSERVER_x64 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 iODBC Test Command utility and test connection using the following command:
DSN=DEVART_SQLSERVER_x64
ODBC Driver for SQL Server27
© 2018 Devart
See also:Installation on Windows
Installation on Linux
3.1.3 Linux
PrerequisitesODBC 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 2 ODBC driver managers:
UnixODBC
iODBC
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
Using ODBC Driver 28
© 2018 Devart
To install the driver, you should download the archive containing installation files, unpack and
run installation with root privileges. See the detailed description of these steps below:
1. Download the archive from Devart website. By default the archive will be downloaded into
the ~/Downloads folder (or the selected one);
2. Run the 'Terminal' program;
3. Navigate to the folder with the downloaded archive cd ~/Downloads (if you downloaded the
archive into another folder, you need to specify the path to this folder as the cd command
parameter):
cd ~/Downloads/
4. Unpack devartodbcsqlserver-linux.tar:
tar -xf devartodbcsqlserver-linux.tar
5. Execute the install.sh script with root user privileges and specify the password:
sudo ./install.sh
6. Read the EULA carefully.
ODBC Driver for SQL Server29
© 2018 Devart
7. Agree to the license agreement:
8. Select the installation folder for ODBC Driver for SQL Server (or accept the suggested
Using ODBC Driver 30
© 2018 Devart
path):
9. Select the used ODBC driver manager (UnixODBC by default):
10.Specify the path (or remain the default: /etc) to odbc.ini and odbcinst.ini files.
ODBC Driver for SQL Server31
© 2018 Devart
11.If you have an activation key, you should create a file, for example with the "sqlserver.lic"
name on your computer and paste the activation key into it. Then specify the path to it in
order to activate the product.
To add/update the sqlserver.lic file to an already installed driver, you need to create/replace
this file in the directory with the installed driver, and save the new activation key to it.
Using ODBC Driver 32
© 2018 Devart
Driver is installed successfully.
After the driver is installed, two DSNs with the names DEVART_SQLSERVER_X64 and
DEVART_SQLSERVER_X86 are created. You can use them to test connection with
SQLSERVER server, we will use DEVART_SQLSERVER_X86 as an example. Now perform
the following steps:
1. Open the odbc.ini file, the location of which was indicated during the installation. Find the
DEVART_SQLSERVER_X86 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 connection using the following
command:
isql -v DEVART_SQLSERVER_X86
ODBC Driver for SQL Server33
© 2018 Devart
See also:Installation on Windows
Installation on MacOS
3.2 Connecting to SQLServer
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
Administrator dialog.
Using ODBC Driver 34
© 2018 Devart
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.
ODBC Driver for SQL Server35
© 2018 Devart
Then you will be suggested to configure the driver.
4. To activate the driver via ODBC Administrator, refer to the Product Activation article for
more details.
5. In the appeared connection dialog, you can set the connection options.
Using ODBC Driver 36
© 2018 Devart
6. Then you can click OK and finish configuration or switch to the Advanced settings tab to
specify more detailed Connection String. See the full list of supported connection string
options in the Connection Options article.
3.3 Connection Options
SQL Server Connection Options
The following table describes the options that you can include in the connection string for SQL
Server:
Option DescriptionServer Serves to supply the server name for login.
Port Used to specify the port number for the connection. 1433 by default.
Username Used to supply a user name for login.
Password Used to supply a password for login.
Database Used to set the name of the database
ConnectionT
imeout
Used to specify the time in seconds before an attempt to make a
connection is considered unsuccessful.
ODBC Driver for SQL Server37
© 2018 Devart
IPVersion
Used to specify the version of the Internet Protocol. IPv4 and IPv6 are
available. The IPv4 + IPv6 value allows to check for available protocol
versions and use the first available automatically.
Advanced Settings
Option DescriptionEmpty
strings as
NULL
To retrieve metadata, not all parameters according to MSDN can accept a
null value. If NULL, the driver should return an error. But some 3rd-party
tools pass NULL to the parameters. These options should be enabled for
compatibility with such tools.Allow NULL
strings
RegionalNu
mberSetting
s
Enables using local regional settings when converting numbers to string.
RegionalDat
eTimeSettin
gs
Enables using local regional settings when converting dates and times to
string.
Example Connection String
DRIVER={Devart ODBC Driver for SQL Server};Data
Source=DBMSSQL;User ID=sa;Port=1433
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
3.4.1 SSL Connection Description
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
Using ODBC Driver 38
© 2018 Devart
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.
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 SSLTo use SSL encryption for connection to SQL Server, enable the Use Encryption for Data
option.
Using ODBC Data Source Administrator
ODBC Driver for SQL Server39
© 2018 Devart
SSL Options Description
Option Description
Use Encryption for DataEnables or disables data encryption using
SSL.
Example Connection String
User ID=sa;Data Source=DBMSSQL;Port=1433;Encryption=true;
3.4.2 SSH Connection Description
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:
Using ODBC Driver 40
© 2018 Devart
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.
SSH Configuration using OpenSSH or other third-partySSH tunnelThe following is the step-by-step sequence of actions for the easiest case of using OpenSSH
for Windows. The detailed description of each command you can see in the documentation
for OpenSSH.
1. Download OpenSSH for Windows from http://sourceforge.net/projects/sshwindows/
2. Install SSH server:
o Choose a machine that will be used as SSH server. It does not have to be the same
machine that is a 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
ODBC Driver for SQL Server41
© 2018 Devart
mkgroup -l >> ..\etc\group
o Run OpenSSH service
net start opensshd
Note:
There is no need to install SSH client, since ODBC Driver for 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 ServerTo establish a SSH connection to SQL Server, the corresponding connection options have to
be set, like shown below:
Using ODBC Data Source Administrator:
SSH Options Description:
Using ODBC Driver 42
© 2018 Devart
Option Description
Use SSH Enables or disables SSH tunneling.
SSH Host nameHolds the host name or IP address of the
SSH server to connect to.
SSH PortUsed to specify the port number for SSH
connection.
SSH User Name Sets the SSH user name for authentication.
SSH PasswordSets the SSH user password for
authentication.
SSH Client Key
Used to specify the path to the file
containing the SSH Private Key.
If the authentication by key is used, the user
must have his pair of keys. The public key
should be transferred to the server, while
the private key will be used by the client to
sign data,
that 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 this user,
connection may be established.
SSH Server KeyUsed to specify the path to the file that
contains SSH Public Key.
SSH StoragePathUsed to specify the path to the directory
where 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='C:\User\...\PrivateKey.pem';SSH
Server Key='C:\User\...\PublicKey.pem';SSH StoragePath='D:\...';
ODBC Driver for SQL Server43
© 2018 Devart
3.4.3 HTTP Tunneling Description
Connection through HTTP tunnelSometimes client machines are shielded by a firewall that does not allow you to connect to
server directly at the specified port. If the firewall allows HTTP connections, you can use
HTTP tunneling based on the PHP script.
An example of the web script tunneling usage can be the following: you have a remote
website, and access to its database through the port of the database server is forbidden. Only
access through HTTP port 80 is allowed, and you need to access the database from a
remote computer, like when using usual direct connection.
To start using HTTP tunneling, you should deploy the Tunneling script. The php script must
be available through the HTTP protocol. You can verify it is accessible for a web. For this
enter the http://www.domain.com/tunnel.php address to a web browser and check the result.
The only requirement to the server is PHP 5 support.
P.S.: tunnel.php is provided along with ODBC Driver for 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
Using ODBC Driver 44
© 2018 Devart
HTTP Options Description
Option Description
Use Http Enables or disables HTTP tunneling.
Http Url Holds the url of the tunneling PHP script.
Http UsernameSet these properties if the access to the
website folder with the script is available
only for registered users authenticated with
user name and password.Http Password
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 tunnelConsider the previous case with one more complication.
ODBC Driver for SQL Server45
© 2018 Devart
HTTP tunneling server is not directly accessible from client machine. For example, the client
can reach the server only through proxy at address 10.0.0.1, which listens on port 3128. In
this case in addition to the HTTP options, you have to setup Proxy options as follows:
Proxy Options Description
Option Description
Proxy Host NameHolds the host name or IP address of the
proxy server to connect to.
Proxy PortUsed to specify the port number for TCP/IP
connection with proxy server.
Proxy Username Holds the proxy server account name.
Proxy PasswordHolds the password for the proxy server
account.
Example Connection String
User ID=sa;Data Source=192.168.0.10;Port=1433;Use
Http=true;Url=http://server/tunnel.php;Proxy
Hostname=10.0.0.1;Proxy Port=3128;Proxy User=ProxyUser;Proxy
Using ODBC Driver 46
© 2018 Devart
Password=ProxyPassword;
Additional informationTechnically speaking, there is one more way to tunnel network traffic. The Secure Shell
forwarding, or SSH, can be used for forwarding data. However, main purpose of SSH is traffic
encryption rather than avoiding firewalls or network configuration problems. The SSH
Connection article describes how to use SSH protocol in ODBC Driver for 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.
3.5 Product Activation
Obtaining Activation Key
Activation on Windows
Activation on macOS
Activation on Linux
Where to see the license information
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
dialog box:
ODBC Driver for SQL Server47
© 2018 Devart
6. Copy the Activation Key with the Copy to Clipboard button.
See also:Activation on Windows
Activation on MacOS
Activation on Linux
3.5.2 Activation on Windows
Driver Activation After InstallationTo activate your installed driver using ODBC Administrator, perform the following steps:
1. Run ODBC Administrator.
2. In the System DSN tab click the Add button.
Using ODBC Driver 48
© 2018 Devart
3. In the appeared dialog box, select the installed driver, click Finish.
ODBC Driver for SQL Server49
© 2018 Devart
4. In the Driver Configuration dialog box, on the License tab, click the Input Activation Key
button.
Using ODBC Driver 50
© 2018 Devart
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.
ODBC Driver for SQL Server51
© 2018 Devart
3.5.3 Activation on macOS
Driver Activation After InstallationIn case if you installed the driver as TRIAL and you have an activation key, in order to activate
your driver, perform the following 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/local/devart/odbcsqlserver by default).
See also:Activation on Windows
Activation on Linux
3.5.4 Activation on Linux
Driver Activation After InstallationIn case if you installed the driver as TRIAL and you have an activation key, in order to activate
your driver, perform the following 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/local/devart/odbcsqlserver by default).
See also:Activation on Windows
Activation on macOS
Using ODBC Driver 52
© 2018 Devart
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
3. Select the driver and click Finish
ODBC Driver for SQL Server53
© 2018 Devart
4. In the appeared dialogue, select the License tab
Using ODBC Driver 54
© 2018 Devart
See alsoProduct Activation
3.6 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 MappingThe following table describes how ODBC data types are mapped to SQL Server data types.
SQL Server Data Types ODBC Data Types
Datetime SQL_TYPE_TIMESTAMPSQL_TIMESTAMP
Smalldatetime SQL_TYPE_TIMESTAMPSQL_TIMESTAMP
Date SQL_TYPE_DATE SQL_DATETime SQL_SS_TIME2
Datetime2 SQL_TYPE_TIMESTAMPSQL_TIMESTAMP
DatetimeOFFSET SQL_SS_TIMESTAMPOFFSET
3.7 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
ODBC Driver for SQL Server55
© 2018 Devart
Function Name Support Standard Purpose
SQLAllocHandle ISO 92
Obtains an
environment,
connection,
statement, or
descriptor handle.
SQLConnect ISO 92
Connects to a
specific driver by
data source name,
user ID, and
password.
SQLDriverConnect ODBC
Connects to a
specific driver by
connection string or
requests that the
Driver Manager and
driver display
connection dialog
boxes for the user.
SQLAllocEnv Deprecated
Obtains an
environment handle
allocated from
driver.
SQLAllocConnect DeprecatedObtains a
connection handle
ODBC API Calls for Obtaining Information about a Driverand Data Source
Function Name Support Standard Purpose
SQLDataSources ISO 92
Returns the list of
available data
sources, handled by
Using ODBC Driver 56
© 2018 Devart
the Driver Manager
SQLDrivers ODBC
Returns the list of
installed drivers and
their attributes,
handles by Driver
Manager
SQLGetInfo ISO 92
Returns information
about a specific
driver and data
source.
SQLGetFunctions ISO 92Returns supported
driver functions.
SQLGetTypeInfo ISO 92
Returns information
about supported
data types.
ODBC API Calls for Setting and Retrieving DriverAttributes
Function Name Support Standard Purpose
SQLSetConnectAttr ISO 92Sets a connection
attribute.
SQLGetConnectAttr ISO 92
Returns the value of
a connection
attribute.
SQLSetConnectOpti
onDeprecated
Sets a connection
option
SQLGetConnectOpt
ionDeprecated
Returns the value of
a connection option
SQLSetEnvAttr ISO 92Sets an environment
attribute.
SQLGetEnvAttr ISO 92Returns the value of
an environment
ODBC Driver for SQL Server57
© 2018 Devart
attribute.
SQLSetStmtAttr ISO 92Sets a statement
attribute.
SQLGetStmtAttr ISO 92
Returns the value of
a statement
attribute.
SQLSetStmtOption DeprecatedSets a statement
option
SQLGetStmtOption DeprecatedReturns the value of
a statement option
ODBC API Calls for Preparing SQL Requests
Function Name Support Standard Purpose
SQLAllocStmt DeprecatedAllocates a
statement handle
SQLPrepare ISO 92
Prepares an SQL
statement for later
execution.
SQLBindParameter ODBC
Assigns storage for
a parameter in an
SQL statement.
SQLGetCursorNam
eISO 92
Returns the cursor
name associated
with a statement
handle.
SQLSetCursorNam
eISO 92
Specifies a cursor
name.
SQLSetScrollOption
sODBC
Sets options that
control cursor
behavior.
ODBC API Calls for Submitting Requests
Using ODBC Driver 58
© 2018 Devart
Function Name Support Standard Purpose
SQLExecute ISO 92Executes a
prepared statement.
SQLExecDirect ISO 92Executes a
statement
SQLNativeSql ODBC
Returns the text of an
SQL statement as
translated by the
driver.
SQLDescribeParam ODBC
Returns the
description for a
specific parameter
in a statement.
SQLNumParams ISO 92
Returns the number
of parameters in a
statement.
SQLParamData ISO 92
Used in conjunction
with SQLPutData to
supply parameter
data at execution
time. (Useful for long
data values.)
SQLPutData ISO 92
Sends part or all of a
data value for a
parameter. (Useful
for long data values.)
ODBC API Calls for Retrieving Results and Informationabout Results
Function Name Support Standard Purpose
SQLRowCount ISO 92Returns the number
of rows affected by
ODBC Driver for SQL Server59
© 2018 Devart
an insert, update, or
delete request.
SQLNumResultCols ISO 92
Returns the number
of columns in the
result set.
SQLDescribeCol ISO 92Describes a column
in the result set.
SQLColAttribute ISO 92
Describes attributes
of a column in the
result set.
SQLColAttributes Deprecated
Describes attributes
of a column in the
result set.
SQLFetch ISO 92Returns multiple
result rows.
SQLFetchScroll ISO 92Returns scrollable
result rows.
SQLExtendedFetch DeprecatedReturns scrollable
result rows.
SQLSetPos ODBC
Positions a cursor
within a fetched
block of data and
enables an
application to
refresh data in the
rowset or to update
or delete data in the
result set.
SQLBulkOperations ODBC
Performs bulk
insertions and bulk
bookmark
operations, including
Using ODBC Driver 60
© 2018 Devart
update, delete, and
fetch by bookmark.
ODBC API Calls for Retrieving Error or DiagnosticInformation
Function Name Support Standard Purpose
SQLError Deprecated
Returns additional
error or status
information
SQLGetDiagField ISO 92
Returns additional
diagnostic
information (a single
field of the
diagnostic data
structure).
SQLGetDiagRec ISO 92
Returns additional
diagnostic
information (multiple
fields of the
diagnostic data
structure).
ODBC API Calls for Obtaining Information about theData Source's System Tables (Catalog Functions) Item
Function Name Support Standard Purpose
SQLColumnPrivileg
esODBC
Returns a list of
columns and
associated
privileges for one or
more tables.
SQLColumns X/OpenReturns the list of
column names in
ODBC Driver for SQL Server61
© 2018 Devart
specified tables.
SQLForeignKeys ODBC
Returns a list of
column names that
make up foreign
keys, if they exist for
a specified table.
SQLPrimaryKeys ODBC
Returns the list of
column names that
make up the primary
key for a table.
SQLSpecialColumn
sX/Open
Returns information
about the optimal set
of columns that
uniquely identifies a
row in a specified
table, or the columns
that are
automatically
updated when any
value in the row is
updated by a
transaction.
SQLStatistics ISO 92
Returns statistics
about a single table
and the list of
indexes associated
with the table.
SQLTablePrivileges ODBC
Returns a list of
tables and the
privileges
associated with
each table.
Using ODBC Driver 62
© 2018 Devart
SQLTables X/Open
Returns the list of
table names stored
in a specific data
source.
ODBC API Calls for Performing Transactions
Function Name Support Standard Purpose
SQLTransact DeprecatedCommits or rolls
back a transaction
SQLEndTran ISO 92Commits or rolls
back a transaction.
ODBC API Calls for Terminating a Statement
Function Name Support Standard Purpose
SQLFreeStmt ISO 92
Ends statement
processing,
discards pending
results, and,
optionally, frees all
resources
associated with the
statement handle.
SQLCloseCursor ISO 92
Closes a cursor that
has been opened on
a statement handle.
SQLCancel ISO 92Cancels an SQL
statement.
ODBC API Calls for Terminating a Connection
Function Name Support Standard Purpose
SQLDisconnect ISO 92 Closes the
ODBC Driver for SQL Server63
© 2018 Devart
connection.
SQLFreeHandle ISO 92
Releases an
environment,
connection,
statement, or
descriptor handle.
SQLFreeConnect DeprecatedReleases
connection handle.
SQLFreeEnv DeprecatedReleases an
environment handle.