SQL Server connection strings

.NET Framework Data Provider for SQL Server

Problems connecting?
Get answer in the SQL Server Q & A forum

Context Connection

  • Context Connection

    Connecting to "self" from within your CLR stored prodedure/function. The context connection lets you execute Transact-SQL statements in the same context (connection) that your code was invoked in the first place.

    C#
     using(SqlConnection connection = new SqlConnection("context connection=true"))
     {
         connection.Open();
         // Use the connection
     }

    VB.Net
     Using connection as new SqlConnection("context connection=true")
         connection.Open()
         ' Use the connection
     End Using

SQL Server Native Client 11.0 OLE DB Provider

  • Standard security

    Provider=SQLNCLI11;Server=myServerAddress;Database=myDataBase;Uid=myUsername;
    Pwd
    =myPassword;

    Are you using SQL Server 2012 Express? Don't miss the server name syntax Servername\SQLEXPRESS where you substitute Servername with the name of the computer where the SQL Server 2012 Express installation resides.

    When to use SQL Native Client?

  • Trusted connection

    Provider=SQLNCLI11;Server=myServerAddress;Database=myDataBase;
    Trusted_Connection
    =yes;

    Equivalent key-value pair: "Integrated Security=SSPI" equals "Trusted_Connection=yes"

  • Connecting to an SQL Server instance

    The syntax of specifying the server instance in the value of the server key is the same for all connection strings for SQL Server.

    Provider=SQLNCLI11;Server=myServerName\theInstanceName;Database=myDataBase;
    Trusted_Connection
    =yes;
  • Prompt for username and password

    This one is a bit tricky. First you need to set the connection object's Prompt property to adPromptAlways. Then use the connection string to connect to the database.

    oConn.Properties("Prompt") = adPromptAlways

    oConn.Open "Provider=SQLNCLI11;Server=myServerAddress;DataBase=myDataBase;"
  • Enable MARS

    Provider=SQLNCLI11;Server=myServerAddress;Database=myDataBase;
    Trusted_Connection
    =yes;MARS Connection=True;
  • Encrypt data sent over network

    Provider=SQLNCLI11;Server=myServerAddress;Database=myDataBase;
    Trusted_Connection
    =yes;Encrypt=yes;
  • Attach a database file on connect to a local SQL Server Express instance

    Provider=SQLNCLI11;Server=.\SQLExpress;AttachDbFilename=c:\asd\qwe\mydbfile.mdf;
    Database
    =dbname;Trusted_Connection=Yes;

    Why is the Database parameter needed? If the named database have already been attached, SQL Server does not reattach it. It uses the attached database as the default for the connection.

  • Attach a database file, located in the data directory, on connect to a local SQL Server Express instance

    Provider=SQLNCLI11;Server=.\SQLExpress;
    AttachDbFilename
    =|DataDirectory|mydbfile.mdf;Database=dbname;
    Trusted_Connection
    =Yes;

    Why is the Database parameter needed? If the named database have already been attached, SQL Server does not reattach it. It uses the attached database as the default for the connection.

  • Database mirroring

    If you connect with ADO.NET or the SQL Native Client to a database that is being mirrored, your application can take advantage of the drivers ability to automatically redirect connections when a database mirroring failover occurs. You must specify the initial principal server and database in the connection string and the failover partner server.

    Provider=SQLNCLI11;Data Source=myServerAddress;
    Failover Partner
    =myMirrorServerAddress;Initial Catalog=myDataBase;
    Integrated Security
    =True;

    There is ofcourse many other ways to write the connection string using database mirroring, this is just one example pointing out the failover functionality. You can combine this with the other connection strings options available.

SQL Server Native Client 10.0 OLE DB Provider

SQL Native Client 9.0 OLE DB Provider

Microsoft OLE DB Provider for SQL Server

  • Standard Security

    Provider=sqloledb;Data Source=myServerAddress;Initial Catalog=myDataBase;
    User Id
    =myUsername;Password=myPassword;
  • Trusted connection

    Provider=sqloledb;Data Source=myServerAddress;Initial Catalog=myDataBase;
    Integrated Security
    =SSPI;

    Use serverName\instanceName as Data Source to use a specific SQL Server instance. Please note that the multiple SQL Server instances feature is available only from SQL Server version 2000 and not in any previous versions.

  • Connecting to an SQL Server instance

    The syntax of specifying the server instance in the value of the server key is the same for all connection strings for SQL Server.

    Provider=sqloledb;Data Source=myServerName\theInstanceName;
    Initial Catalog
    =myDataBase;Integrated Security=SSPI;
  • Prompt for username and password

    This one is a bit tricky. First set the connection object's Provider property to "sqloledb". Thereafter set the connection object's Prompt property to adPromptAlways. Then use the connection string to connect to the database.

    oConn.Provider = "sqloledb"
    oConn.Properties("Prompt") = adPromptAlways

    oConn.Open "Data Source=myServerAddress;Initial Catalog=myDataBase;"
  • Connect via an IP address

    Provider=sqloledb;Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;
    Initial Catalog
    =myDataBase;User ID=myUsername;Password=myPassword;

    DBMSSOCN=TCP/IP. This is how to use TCP/IP instead of Named Pipes. At the end of the Data Source is the port to use. 1433 is the default port for SQL Server. Read more in the article How to define which network protocol to use.

  • Disable connection pooling

    This one is usefull when receving errors "sp_setapprole was not invoked correctly." (7.0) or "General network error. Check your network documentation" (2000) when connecting using an application role enabled connection. Application pooling (or OLE DB resource pooling) is on by default. Disabling it can help on this error.

    Provider=sqloledb;Data Source=myServerAddress;Initial Catalog=myDataBase;
    User ID
    =myUsername;Password=myPassword;OLE DB Services=-2;

SQLXML 4.0 OLEDB Provider

SQLXML 3.0 OLEDB Provider

  • Using SQL Server Ole Db

    The SQLXML version 3.0 restricts the data provider to SQLOLEDB only.

    Provider=SQLXMLOLEDB.3.0;Data Provider=SQLOLEDB;Data Source=myServerAddress;
    Initial Catalog
    =myDataBase;User Id=myUsername;Password=myPassword;

.NET Framework Data Provider for OLE DB

  • Use an OLE DB provider from .NET

    Provider=any oledb provider's name;OledbKey1=someValue;OledbKey2=someValue;

    See the respective OLEDB provider's connection strings options. The .net OleDbConnection will just pass on the connection string to the specified OLEDB provider. Read more here.

SQL Server Native Client 11.0 ODBC Driver

  • Standard security

    Driver={SQL Server Native Client 11.0};Server=myServerAddress;
    Database
    =myDataBase;Uid=myUsername;Pwd=myPassword;

    Are you using SQL Server 2012 Express? Don't miss the server name syntax Servername\SQLEXPRESS where you substitute Servername with the name of the computer where the SQL Server 2012 Express installation resides.

    When to use SQL Native Client?

  • Trusted Connection

    Driver={SQL Server Native Client 11.0};Server=myServerAddress;
    Database
    =myDataBase;Trusted_Connection=yes;

    Equivalent key-value pair: "Integrated Security=SSPI" equals "Trusted_Connection=yes"

  • Connecting to an SQL Server instance

    The syntax of specifying the server instance in the value of the server key is the same for all connection strings for SQL Server.

    Driver={SQL Server Native Client 11.0};Server=myServerName\theInstanceName;
    Database
    =myDataBase;Trusted_Connection=yes;
  • Prompt for username and password

    This one is a bit tricky. First you need to set the connection object's Prompt property to adPromptAlways. Then use the connection string to connect to the database.

    oConn.Properties("Prompt") = adPromptAlways

    oConn.Open "Driver={SQL Server Native Client 11.0};Server=myServerAddress;Database=myDataBase;"
  • Enable MARS

    Driver={SQL Server Native Client 11.0};Server=myServerAddress;
    Database
    =myDataBase;Trusted_Connection=yes;MARS_Connection=yes;
  • Encrypt data sent over network

    Driver={SQL Server Native Client 11.0};Server=myServerAddress;
    Database
    =myDataBase;Trusted_Connection=yes;Encrypt=yes;
  • Attach a database file on connect to a local SQL Server Express instance

    Driver={SQL Server Native Client 11.0};Server=.\SQLExpress;
    AttachDbFilename
    =c:\asd\qwe\mydbfile.mdf;Database=dbname;Trusted_Connection=Yes;

    Why is the Database parameter needed? If the named database have already been attached, SQL Server does not reattach it. It uses the attached database as the default for the connection.

  • Attach a database file, located in the data directory, on connect to a local SQL Server Express instance

    Driver={SQL Server Native Client 11.0};Server=.\SQLExpress;
    AttachDbFilename
    =|DataDirectory|mydbfile.mdf;Database=dbname;
    Trusted_Connection
    =Yes;

    Why is the Database parameter needed? If the named database have already been attached, SQL Server does not reattach it. It uses the attached database as the default for the connection.

  • Database mirroring

    If you connect with ADO.NET or the SQL Native Client to a database that is being mirrored, your application can take advantage of the drivers ability to automatically redirect connections when a database mirroring failover occurs. You must specify the initial principal server and database in the connection string and the failover partner server.

    Driver={SQL Server Native Client 11.0};Server=myServerAddress;
    Failover_Partner
    =myMirrorServerAddress;Database=myDataBase;
    Trusted_Connection
    =yes;

    There is ofcourse many other ways to write the connection string using database mirroring, this is just one example pointing out the failover functionality. You can combine this with the other connection strings options available.

    Please note if you are using TCP/IP (using the network library parameter) and database mirroring, including port number in the address (formed as servername,portnumber) for both the main server and the failover partner can solve some reported issues.

SQL Server Native Client 10.0 ODBC Driver

SQL Native Client 9.0 ODBC Driver

  • Standard security

    Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;
    Uid
    =myUsername;Pwd=myPassword;

    Are you using SQL Server 2005 Express? Don't miss the server name syntax Servername\SQLEXPRESS where you substitute Servername with the name of the computer where the SQL Server 2005 Express installation resides.

    When to use SQL Native Client?

  • Trusted Connection

    Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;
    Trusted_Connection
    =yes;

    Equivalent key-value pair: "Integrated Security=SSPI" equals "Trusted_Connection=yes"

  • Connecting to an SQL Server instance

    The syntax of specifying the server instance in the value of the server key is the same for all connection strings for SQL Server.

    Driver={SQL Native Client};Server=myServerName\theInstanceName;
    Database
    =myDataBase;Trusted_Connection=yes;
  • Prompt for username and password

    This one is a bit tricky. First you need to set the connection object's Prompt property to adPromptAlways. Then use the connection string to connect to the database.

    oConn.Properties("Prompt") = adPromptAlways

    oConn.Open "Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;"
  • Enable MARS

    Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;
    Trusted_Connection
    =yes;MARS_Connection=yes;
  • Encrypt data sent over network

    Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;
    Trusted_Connection
    =yes;Encrypt=yes;
  • Attach a database file on connect to a local SQL Server Express instance

    Driver={SQL Native Client};Server=.\SQLExpress;AttachDbFilename=c:\mydbfile.mdf;
    Database
    =dbname;Trusted_Connection=Yes;

    Why is the Database parameter needed? If the named database have already been attached, SQL Server does not reattach it. It uses the attached database as the default for the connection.

  • Attach a database file, located in the data directory, on connect to a local SQL Server Express instance

    Driver={SQL Native Client};Server=.\SQLExpress;
    AttachDbFilename
    =|DataDirectory|mydbfile.mdf;Database=dbname;
    Trusted_Connection
    =Yes;

    Why is the Database parameter needed? If the named database have already been attached, SQL Server does not reattach it. It uses the attached database as the default for the connection.

  • Database mirroring

    If you connect with ADO.NET or the SQL Native Client to a database that is being mirrored, your application can take advantage of the drivers ability to automatically redirect connections when a database mirroring failover occurs. You must specify the initial principal server and database in the connection string and the failover partner server.

    Driver={SQL Server Native Client 10.0};Server=myServerAddress;
    Failover_Partner
    =myMirrorServerAddress;Database=myDataBase;
    Trusted_Connection
    =yes;

    There is ofcourse many other ways to write the connection string using database mirroring, this is just one example pointing out the failover functionality. You can combine this with the other connection strings options available.

    Please note if you are using TCP/IP (using the network library parameter) and database mirroring, including port number in the address (formed as servername,portnumber) for both the main server and the failover partner can solve some reported issues.

Microsoft SQL Server ODBC Driver

.NET Framework Data Provider for ODBC

  • Use an ODBC driver from .NET

    Driver={any odbc driver's name};OdbcKey1=someValue;OdbcKey2=someValue;

    See the respective ODBC driver's connection strings options. The .net OdbcConnection will just pass on the connection string to the specified ODBC driver. Read more here.

MSDataShape

Connect

Q&Aask question »

Articlesread all »

Connect

Articlesread all »

Didn't find your connection string?

Start over from the connection string reference index - or try a search!

In the Q&A forums you can ask your own question and let somebody help you.

The knowledge articles contains solutions and guides.