Data source name

Most commonly used in connection with ODBC, DSNs also exist for JDBC and for other data access mechanisms.

Most systems do not make a distinction between DSNs or connection strings and the term can often be used interchangeably.

Standardizing DSNs offers a level of indirection; various applications (for example: Apache/PHP and IIS/ASP) can take advantage of this in accessing shared data sources.

Two kinds of DSN exist: These are further broken down into Software (e.g., Crystal Reports, Microsoft Excel, PHP, Perl, Python, Ruby) users can submit CRUD (Create, Read, Update, Delete) queries to a data source by establishing a connection to the DSN.

The only requirement that DBI makes is that all the information, except for username and password is supplied in a single string argument.