Formating Rules for Connection Strings

by Mark Lurade
As a string, there are no built in checks or constraints on how to format the connection string. This article walks through the basic rules for creating a connection string that will work.
This is general rules adopted by most drivers and providers. However, keep in mind that these rules is not 100% accurate for every driver and every situation. Never the less, following and knowing about these basic rules will keep some common problems out of the way.


Here we go...
The rules
  • All blank characters, except those placed within a value or within quotation marks, are ignored

  • Blank characters will though affect connection pooling mechanism, pooled connections must have the EXACT same connection string

  • If a semicolon (;) is part of a value it must be delimited by quotation marks (")

  • Use a single-quote (') if the value begins with a double-quote (")

  • Conversely, use the double quote (") if the value begins with a single quote (')

  • No escape sequences are supported

  • The value type is NOT relevant

  • Names are case iNsEnSiTiVe

  • If a KEYWORD=VALUE pair occurs more than once in the connection string, the value associated with the LAST occurrence is used

  • But!... if the PROVIDER keyword occurs multiple times in the string, the FIRST occurrence is used.

  • If a keyword contains an equal sign (=), it must be preceded by an additional equal sign to indicate that it is part of the keyword.

Knowing about these basic rules will keep hard to track errors away from you. Take some time understanding these rules and a couple of minutes choosing what parameters to specify when connecting your application to the data source.