Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Tray Member Откуда: Сообщений: 138 |
имею в виду, можно ли сразу вверху скрипта прописать это соединение один раз, чтобы последующие запросы работали уже с этой БД без указания ее на каждой таблице? что-то типа USE pubs, только подключение не к локальной БД, а расположенной на другом серваке? |
9 фев 15, 11:53 [17237455] Ответить | Цитировать Сообщить модератору |
Wizandr Member Откуда: Империя Добра Сообщений: 37033 |
в динамическом sql запросе можно |
9 фев 15, 11:54 [17237463] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Это называется linked server или distributed query https://technet.microsoft.com/en-us/library/ms188721(v=sql.105).aspx |
||
9 фев 15, 11:56 [17237479] Ответить | Цитировать Сообщить модератору |
Tray Member Откуда: Сообщений: 138 |
да это не выход. дело в том, что в моем комплексе создан fr3-отчет, в котором туча sql-кода в разных процедурах вот и думаю, что было бы неплохо в самом верху этого отчета установить коннект к определенной БД, чтобы весь этот код уже работал с ней. идея такова - у меня 3 БД и начальство хочет, чтобы все отчеты ко всем трем базам запускались из одной какой-нить базы. можно было бы конечно заморочиться и прописать везде в этом отчет названия баз, но дело в том, что это отчет стороннего разработчика, который его постоянно переделывает. поэтому у меня нет времени каждый раз глобально менять весь отчет... |
9 фев 15, 11:58 [17237502] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Правильно. Это - вход.
Что такое у вас "отчет" ? Если это приложение, то в чем проблема указать ему выполнить что-то в N коннектах к разным серверам ? |
||||
9 фев 15, 12:02 [17237534] Ответить | Цитировать Сообщить модератору |
Tray Member Откуда: Сообщений: 138 |
2 Glory т.е. надо везде (перед каждой процедурой и таблицей) явно прописывать сервер и БД в запросе? |
9 фев 15, 12:03 [17237541] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Где-то их все равно придется прописывать Потому что нельзя соединиться в никуда и использовать неизвестную базу Сообщение было отредактировано: 9 фев 15, 12:04 |
||
9 фев 15, 12:04 [17237553] Ответить | Цитировать Сообщить модератору |
Tray Member Откуда: Сообщений: 138 |
отчет - это какой-то шаблон (xls,doc,fr3) в программном комплексе, в котором прописан sql-запрос, который отрабатывает по умолчанию на текущей БД при выгрузке шаблона. в шаблоне можно конечно указать так: select * from [айпи-адрес сервера].[название БД].dbo.[название таблицы] и в отчет попадет инфа с БД другого сервака, который прилинкован к моему ============= я хотел лишь уточнить, можно ли в ОДНОМ МЕСТЕ запроса прописать БД и сервер, к которому будут обращаться последующие sql-select? |
9 фев 15, 12:08 [17237585] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Что отвечает за коннект в этом шаблоне ? |
||
9 фев 15, 12:10 [17237596] Ответить | Цитировать Сообщить модератору |
Tray Member Откуда: Сообщений: 138 |
ведь можно так установить БД на локальном серваке, к которой будут обращаться все последующие селекты, просто написав USE [БД] в самом начале запроса. вот я и подумал, что вдруг есть такая же прописка, только для БД с другого сервера |
9 фев 15, 12:10 [17237599] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Когда вы создаете коннект к серверу вы именно это и делаете Причем тут текст запроса ? |
||
9 фев 15, 12:11 [17237607] Ответить | Цитировать Сообщить модератору |
Tray Member Откуда: Сообщений: 138 |
там нигде явно не прописывается коннект, т.к. юзер уже приконнектился к БД, когда заходил в программный комплекс. т.е. любой запрос в шаблоне отрабатывает на той БД, к которому приконектился юзер, заходя в ПК (либо на той БД, к которой я явно обращаюсь в запросе, указывая полное название БД через [название сервера].[название БД].[владелец таблицы].[название таблицы]). |
||
9 фев 15, 12:13 [17237639] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Откуда же тогда этот коннект берется ?
И что мешает то соединиться с нужными серверами и выполнить один и тот же запрос на каждом из них ? Сообщение было отредактировано: 9 фев 15, 12:15 |
||||
9 фев 15, 12:15 [17237658] Ответить | Цитировать Сообщить модератору |
Tray Member Откуда: Сообщений: 138 |
И что мешает то соединится с нужными серверами и выполнить один и тот же запрос на каждом из них ? так я и спрашиваю как это сделать (сам ПК я не могу изменять, я лишь админ!) я могу лишь писать sql-запросы в шаблонах. ================================================== к примеру, есть шаблон, в котором прописано штук 100 селектов из разных таблиц, результат которых выводится в отчет. соответственно, я не хочу в каждом из 100 селектов прописывать полный путь к каждой таблице с БД другого сервера (т.к. все эти селекты в любой момент могут измениться разработчиками) я хочу ПЕРЕД всей этой кучей селектов прописать один раз использование БД на другом серваке... |
9 фев 15, 12:19 [17237688] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Господи. Это делается в _клиентском приложении_, а не на сервере
Хочу придется отложить в сторону. И выбрать из ссылки то, как можно сделать. Если уж так не хочется делать просто, а хочется сложно. |
||||
9 фев 15, 12:22 [17237722] Ответить | Цитировать Сообщить модератору |
Tray Member Откуда: Сообщений: 138 |
т.е. нет аналога USE [БД] касательно БД на других серверах? |
9 фев 15, 12:25 [17237758] Ответить | Цитировать Сообщить модератору |
Ivan Durak Member Откуда: Minsk!!! Сообщений: 3646 |
3 базы на одном сервере - ок. Можно 3 базы на разных серверах - категорически не стоит так делать. Это узкое место. |
||
9 фев 15, 12:26 [17237773] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Сколько раз еще сказать "халва", что бы стало "сладко во рту" ? |
||
9 фев 15, 12:27 [17237782] Ответить | Цитировать Сообщить модератору |
Tray Member Откуда: Сообщений: 138 |
так ты ж ни разу не сказал явно ДА или НЕТ :) лан, все понятно, придется как-то жутко изгаляться... |
||
9 фев 15, 12:30 [17237815] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Ну конечно. Ссылка - это не в счет. Ее же читать надо. |
||
9 фев 15, 12:32 [17237833] Ответить | Цитировать Сообщить модератору |
SERG1257 Member Откуда: Сообщений: 2828 |
откройте для себя синонимы https://msdn.microsoft.com/en-us/library/ms177544.aspx |
9 фев 15, 17:42 [17240094] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |