В чем разница между connectionstring и dsn?

Мне очень трудно понять разницу между dsn и строкой подключения. Моя проблема заключается в том, что DS может дать вам имя базы данных, драйвер базы данных, имя-пароль. Разве DSN не может установить соединение с базой данных с этими данными. Мне нужно объяснение, потому что это уже давно меня беспокоит У DSN есть необходимые детали для установления соединения между базой данных и клиентом, не так ли? Если да, то почему здесь строка подключения?

Пожалуйста, ответьте и спасибо, что нашли время ответить!

Удивлен, что на вопрос никто не ответил. Это законный вопрос, над которым у меня проблемы. Ответы, которые я получил, были очень расплывчатыми

Breaz Freind 29.07.2018 00:37

Ну я только что это видел :)

Cetin Basoz 29.07.2018 00:47
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
2
2
735
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Однако строка подключения - это информация о подключении, записанная в виде строки, и ее не нужно сохранять в реестре. Он может быть построен на лету или построен и сохранен (возможно, в зашифрованном виде) в выбранном разработчиком месте (может быть, даже в другой локальной базе данных) - (в некотором смысле, тогда DSN изобрел разработчик). Он имеет гораздо большую гибкость, и многие разработчики предпочитают его DSN.

Таким образом, DSN и строка подключения предназначены для одной и той же цели; соединение с базой данных, но у строк подключения больше преимуществ? Также «Источник данных = myServerAddress; Исходный каталог = myDataBase; Идентификатор пользователя = myUsername; Пароль = myPassword;» кто-то сказал, что «myServerAddress» - это DSN, тогда как все это - строка подключения. Но разве строка подключения не состоит из Цитировать «Имя базы данных, драйвер базы данных каталога», пароль идентификатора пользователя, так что это не DSN? Это то, что меня действительно смущает

Breaz Freind 29.07.2018 19:45

Этот «кто-то» неправ. «myServerAddress» не является DSN. Возможно, свойство «Источник данных» строки подключения вводит в заблуждение (также используется как «сервер»). Один из них - это сам источник данных, другой (DSN) - это символическое имя, относящееся ко всему соединению с источником данных. Строка подключения «обычно», но не всегда, содержит имя базы данных. Он содержит имя драйвера (или поставщика в случае OLEDB). Чтобы избежать путаницы, вы можете просто подумать, что DSN - это короткие уникальные «NAME», которые указывают на целую строку подключения.

Cetin Basoz 29.07.2018 21:36

Теперь я понимаю, что DSN - это соединение с источником данных, как и соединение, но строка соединения более гибкая, потому что вы можете добавить больше параметров, таких как «Тайм-аут» тот, который я вижу несколько раз в строке подключения, тогда как DSN - это просто соединение, ничего лишнего. Большое спасибо, что вылечили мою ужасную болезнь! : D

Breaz Freind 30.07.2018 00:31

Знаете ли вы, хранит ли где-нибудь свои строки подключения SQL Server?

MSIS 04.06.2021 00:28

Другие вопросы по теме