Misplaced Pages

Data source name: Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editNext edit →Content deleted Content addedVisualWikitext
Revision as of 11:13, 28 January 2015 editPacerier (talk | contribs)1,866 edits Misuse of the term← Previous edit Revision as of 13:13, 28 January 2015 edit undoAnomieBOT (talk | contribs)Bots6,575,181 editsm Dating maintenance tags: {{Citation needed span}}Next edit →
Line 27: Line 27:
==Misuse of the term== ==Misuse of the term==


The term DSN is sometimes mistakenly used in place of ]. A connection string {{citation needed span|text=typically fully describes a data source}}, while a DSN {{citation needed span|text=typically relies on some external system resources and/or configuration file}}. The term DSN is sometimes mistakenly used in place of ]. A connection string {{citation needed span|text=typically fully describes a data source|date=January 2015}}, while a DSN {{citation needed span|text=typically relies on some external system resources and/or configuration file|date=January 2015}}.


== Example of use == == Example of use ==

Revision as of 13:13, 28 January 2015

This article does not cite any sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Data source name" – news · newspapers · books · scholar · JSTOR (January 2009) (Learn how and when to remove this message)

In computing, a data source name (DSN, sometimes known as a database source name, though "data sources" can comprise other repositories apart from databases) is a string that has an associated data structure used to describe a connection to a data source. Most commonly used in connection with ODBC, DSNs also exist for JDBC and for other data access mechanisms.

DSN attributes may include, but are not limited to:

  • the name of the data source
  • the location of the data source
  • the name of a database driver which can access the data source
  • a user ID for data access (if required)
  • a user password for data access (if required)

The system administrator of a client machine generally creates a separate DSN for each relevant data source.

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.

Types of data source name

Two kinds of DSN exist:

  • Machine DSNs - stored in collective configuration files (e.g., /etc/odbc.ini, ~/.odbc.ini) and/or system resources (e.g., Windows Registry HKLM\Software\ODBC\odbc.ini)
  • File DSNs - stored in the filesystem with one DSN per file

These are further broken down into

  • System DSNs - accessible by any and all processes and users of the system, stored in a centralized location (e.g., /etc/odbc.ini, /etc/odbc_file_dsns/<filename>)
  • User DSNs - accessible only by the user who created the DSN, stored in a user-specific location (e.g., ~/.odbc.ini, ~/odbc_file_dsns/<filename>)

Misuse of the term

The term DSN is sometimes mistakenly used in place of connection string. A connection string typically fully describes a data source, while a DSN typically relies on some external system resources and/or configuration file.

Example of use

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.

might look like the following:

Dim DatabaseObject1
Set DatabaseObject1 = Server.CreateObject("ADODB.Connection")
DatabaseObject1.Open("DSN=DSNname;")

In PHP using the PEAR::DB package to open a connection without an external DSN (a "DSN-less connection", i.e., using a Connection String), the code might resemble the following

require_once("DB.php");
//$dsn = "<driver>://<username>:<password>@<host>:<port>/<database>";
$dsn = "mysql://john:pass@localhost:3306/my_db";
$db = DB::connect($dsn);

See also

Database
Main
Languages
Security
Design
Programming
Management
Lists of
See also
WikiProject Category
Stub icon

This database-related article is a stub. You can help Misplaced Pages by expanding it.

Categories: