Название источника данных - Data source name

В вычисление, а имя источника данных (DSN, иногда известный как имя источника базы данных, хотя "источники данных "может включать другие репозитории, кроме базы данных ) - это строка, которая имеет связанный структура данных используется для описания подключения к источнику данных. Чаще всего используется в связи с ODBC, DSN также существуют для JDBC и для других механизмов доступа к данным. Этот термин часто перекликается с "строка подключения ". Большинство систем не делают различий между DSN или строками подключения, и этот термин часто может использоваться как синонимы.

Атрибуты DSN могут включать, но не ограничиваются:

  • имя источника данных
  • расположение источника данных
  • имя драйвер базы данных который может получить доступ к источнику данных
  • а ID пользователя для доступа к данным (при необходимости)
  • пароль пользователя для доступа к данным (при необходимости)

Системный администратор клиентской машины обычно создает отдельный DSN для каждого соответствующего источника данных.

Стандартизация DSN предлагает уровень косвенное обращение; различные приложения (например: Apache /PHP и IIS /ASP ) может воспользоваться этим при доступе к общим источникам данных.

Типы имени источника данных

Существует два вида DSN:

  • Машинные DSN - хранятся в общих файлах конфигурации (например, /etc/odbc.ini, ~ / .odbc.ini) и / или в системных ресурсах (например, в реестре Windows HKLM Software ODBC odbc.ini)
  • Файловые DSN - хранится в файловой системе с одним DSN на файл

Далее они разбиты на

  • Системные DSN - доступны для всех и всех процессов и пользователей системы, хранятся в централизованном месте (например, /etc/odbc.ini, / etc / odbc_file_dsns / )
  • Пользовательские DSN - доступно только пользователю, создавшему DSN, хранящемуся в определенном для пользователя месте (например, ~ / .odbc.ini, ~ / odbc_file_dsns / )

Пример использования

Пользователи программного обеспечения (например, Crystal Reports, Microsoft Excel, PHP, Perl, Python, Ruby) могут отправлять запросы CRUD (создание, чтение, обновление, удаление) источнику данных, установив соединение с DSN.

ASP (VBScript ) код для открытия DSN-соединения может выглядеть следующим образом:

Тусклый DatabaseObject1Набор DatabaseObject1 = Сервер.CreateObject("ADODB.Connection")DatabaseObject1.Открыть("DSN = пример;")

В PHP с использованием пакета PEAR :: DB для открытия соединения без внешнего DSN («соединение без DSN», т. е. с использованием строки подключения), код может выглядеть следующим образом

require_once("DB.php");// $ dsn = "<драйвер>: // <имя пользователя>: <пароль> @ <хост>: <порт> / <база данных>";$ dsn = "mysql: // john: pass @ localhost: 3306 / my_db";$ db = БД::соединять($ dsn);

[требуется разъяснение ]

PHP с PDO.

$ dsn = "mysql: host = localhost; dbname = example";$ dbh = новый PDO($ dsn, $ имя пользователя, $ пароль);

В Perl, с использованием Perl DBI модуль, каждый драйвер имеет собственный синтаксис для атрибутов DSN. Единственное требование, которое предъявляет DBI, заключается в том, что вся информация, за исключением имени пользователя и пароля, предоставляется в виде одного строкового аргумента.

мой $ dsn = "DBI: Pg: database = finance; host = db.example.com; port = $ port";   $ dsn = "DBI: mysql: database = $ database; host = $ hostname; port = $ port";   $ dsn = "DBI: Oracle: host = $ host; sid = $ sid; port = $ port";   $ dsn = "DBI: SQLite: dbname = $ dbfilename";мой $ dbh = DBI->соединять($ dsn,'имя пользователя','пароль');

Смотрите также