Как выбрать данные из таблицы из DSN в T-SQL?
-
04-07-2019 - |
Вопрос
Как я могу получить данные из базы данных, к которой у меня есть доступ только через источник данных ODBC (DSN) в T-SQL MS SQL Server любой версии?
Решение
Прочитав следующее, я решил создать пакеты служб SSIS для получения данных из другого источника данных через DSN. Р>
Со связанными серверами у вас есть немного больше гибкости, но и некоторые дополнительные проблемы безопасности. Вы ссылка на другой источник данных в виде конкретный пользователь, с этим пользователем полномочия на связанный сервер. Если все, что вам нужно, это доступ только для чтения к несколько просмотров, что пользователь должен быть только предоставил эти полномочия тем объекты. Это не так уж плохо, у вас есть полный контроль над властью вы предоставить этому пользователю, но вы должны справиться с этим и понять, что предоставление слишком много полномочий может быть безопасностью беспокойство.
Рассмотрите возможность использования связанного сервера с только для чтения права на копирование данных из конкретные таблицы / просмотр в постоянный таблицы в другой базе данных вместо пакета служб SSIS. Вы можете выполнить работа периодически копировать соответствующие данные из связанных сервер в локальной базе данных и ссылаться на локальные таблицы в вашем приложение. Скорее всего будет проще внедрить и поддерживать, чем SSIS пакет, и потенциально может быть позже будет обновлен, чтобы сделать его живым Решение. р>
Другие советы
Выбор - это простая часть, но реальный вопрос в том, как подключиться к источнику данных. Р>
Во-первых, откуда вы выбираете данные? Вы пишете код или просто используете инструмент анализатора запросов (2000) или Management Studio (2005)?
В любом случае вам нужно будет настроить подключение к базе данных. Если вам нужна помощь со строками подключения к DSN, сайт www.connectionstrings.com очень полезен. В противном случае из инструмента запросов появятся диалоговые окна или мастера, которые помогут вам.
Вам нужно добавить связанный источник к источнику, затем вы можете запросить его как обычно. Р>