Go Up to Database Connectivity (FireDAC)
This topic describes how to connect to Microsoft SQL Server.
The Microsoft ODBC Driver for SQL Server provides native connectivity from Windows, Linux, & macOS to Microsoft SQL Server and Microsoft Azure SQL Database. Oct 23, 2009 Microsoft SQL Server 2008 Native Client (SQL Native Client) is a single dynamic-link library (DLL) containing both the SQL OLE DB provider and SQL ODBC driver. It contains run-time support for applications using native-code APIs (ODBC, OLE DB and ADO) to connect to Microsoft SQL Server 2000, 2005, or 2008. The driver includes an installer, connection setup assistant, on-line help, and connection diagnostic tools. With this Mac ODBC solution, you'll be importing data from your SQL Server in no time. Connection Strings using Microsoft SQL Server ODBC Driver for connections to SQL Server, SQL Server 2000 and SQL Server 7.0. In order to use ESS with the PostgreSQL and DB2 data sources, their DSNs must be configured in ODBC Manager and in the Actual ESS Adapter. Install the driver for your ODBC data source. Open ODBC Manager System DSN Add Select your data source driver and configure a DSN.
Supported Versions
The FireDAC native driver supports Microsoft SQL Server Standard and Express editions version 2000 and later, and Microsoft SQL Azure. For a description of how to connect to Microsoft SQL Server Compact Edition, see Connect to Microsoft SQL Server Compact Edition.
Windows Client Software
FireDAC requires one of the Microsoft SQL Server x86 or x64 ODBC drivers to be installed on the workstation:
- SQL Server ODBC driver as the connectivity for SQL Server 2000. Most likely, the ODBC driver is already installed on your workstation. If not, see details.
- SQL Native Client as the connectivity for SQL Server 2000 and 2005. We strongly recommend that you have SQL Native Client installed, if your application has to work with SQL Server 2005. See Microsoft SQL Server Native Client.
- SQL Server Native Client NN.N as the connectivity for SQL Server 2000, 2005, 2008, 2012, and SQL Azure. We strongly recommend that you have SQL Server Native Client NN.N installed, if your application has to work with SQL Server 2008, 2012, or SQL Azure. See Microsoft SQL Server 2008 Native Client.
- SQL Server Native Client 11.0 as the connectivity for LocalDB.
Note: SQL Server Native Client 10.0 (SQL Server 2008) may fail to call a stored procedure, when it is connected to SQL Server 2000. The symptom of this issue is the error message 'Incorrect Syntax near to {'. In this case, use the ODBC driver from the SQL Server 2000 or 2005 distribution.
If the SQL Server ODBC driver has not been installed properly, an exception is raised when you try to connect:
Mac OS X Client Software
FireDAC requires:
- the UnixODBC (libodbc.dylib) x86 ODBC driver manager library.
- the FreeTDS (libtdsodbc.so) x86 ODBC driver.
FreeTDS can be transferred from CVS into a folder in your home directory (more 1) (more 2). To install FreeTDS on Mac OS X, use the commands:
Note that you may also need to install the gawk utility. At this point, you can configure a ODBC DSN or test the FireDAC connection.
Note that the FreeTDS ODBC driver is not that efficient and stable as the original Microsoft ODBC driver.
Driver Linkage
To link the driver:
- drop a TFDPhysMSSQLDriverLink component from the 'FireDAC Links' palette page
- or include the FireDAC.Phys.MSSQL unit in the uses clause.
Connection Definition Parameters
To connect to the Microsoft SQL Server DBMS, most applications require you to specify DriverID, Server, Database, OSAuthent, User_Name, and Password.
DriverID=MSSQL
Parameter | Description | Example value |
---|---|---|
Server | Name of a server running SQL Server on the network. The value must be either the name of a server on the network or the name of a SQL Server Client Network Utility advanced server entry. When you connect to the SQL Azure, you have to prepend the server name with the 'tcp:' prefix.
|
|
Port | Only for Mac OS X. Specifies the port where the SQL Server is listening. For the Windows platform the port may be specified after a comma in the Server parameter value. For example, Server=host, port. The default port is 1433. | |
Database | Name of the default database for the connection. If the Database is not specified, the default database defined for the login is used. | Northwind |
OSAuthent | Controls the authentication mode:
| No |
User_Name | The SQL Server login name, if OSAuthent=No. When you connect to the SQL Azure, you have to append the '@<server>' suffix to your user name. |
|
Password | The SQL Server login password, if OSAuthent=No. Note that the passwords with both '{' and '}' are not supported. | |
Network | Name of a network library dynamic-link library. The name does not need to include the path and must not include the .dll file name extension. | dbnmpntw |
Address | Network address of the server running an instance of SQL Server. Address is usually the network name of the server, but can be other names, such as a pipe, or a TCP/IP port and socket address. | |
MARS | Controls the MARS - multiple active result set support in a connection:
MARS is a feature supported by SQL 2005 and later. It is not supported by SQL Azure. The enabled MARS may lead to fetch performance degradation. For more details, read the following: | No |
Workstation | Workstation ID. Typically, this is the network name of the computer on which the application resides (optional). If specified, this value is stored in the master.dbo.sysprocesses column hostname and is returned by sp_who and the Transact-SQL HOST_NAME function. | Bookkeeper1 |
Language | SQL Server language name (optional). When connecting to a SQL Server with multiple languages, Language specifies which set of messages are used for the connection. | |
Encrypt | Controls the network traffic encryption:
| Yes |
LoginTimeout | Controls the amount of time, in seconds, before an application times out while attempting to establish a connection. 0 specifies an infinite wait (default value). | 30 |
VariantFormat | Controls the SQL_VARIANT data type representation:
| Binary |
ExtendedMetadata | Controls the extended description of the query result sets:
| True |
ApplicationName | Name of the application. If specified, this value is stored in the master.dbo.sysprocesses column program_name and is returned by sp_who and the Transact-SQL APP_NAME function. | AllBooks |
ODBCAdvanced | Allows you to specify any other additional ODBC connection parameter value. | MARS_Connection=no;Regional=yes |
MetaDefCatalog | Default database name. The Design time code excludes the catalog name from the object name if it is equal to MetaDefCatalog. | Northwind |
MetaDefSchema | Default schema name. The Design time code excludes the schema name from the object name if it is equal to MetaDefSchema. | dbo |
MetaCaseIns | Controls the metadata case-sensitivity:
| True |
Usage Cases
- Connect to the local SQL Server instance using SQL Server authentication:
- Connect to SQL Express 2005 using Windows authentication:
Ms Sql Server Odbc Driver 11
- Connect to SQL Azure. Note the '@<server>' suffix in User_Name and the 'tcp:' prefix in the Server parameters:
- Connect to LocalDB:
- Connect to LocalDB and attach a database file: