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