Что такое формат строки подключения ASP.NET для связанного сервера?

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

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

До сих пор в моей разработке эта схема была направлена ​​против самого промежуточного сервера с использованием объектов Subsonic. Это все работает отлично.

Я могу подключиться через SQL Server Management Studio к этому связанному серверу и выполнить свои запросы напрямую. Я также могу выполнять «ручные» запросы в C # к связанному серверу, подключив строку подключения к промежуточному серверу и выполняя мои запросы как

SELECT * FROM OpenQuery ([LINKEDSERVER], 'QUERY')

Тем не менее, Subsonic объекты - это то, что позволяет мне вовремя реализовать этот проект в рамках бюджета, поэтому я не собираюсь делать прямые запросы в своем коде.

Я ищу, есть ли способ указать строку подключения к связанному серверу. Я просмотрел множество записей на форуме и т. Д. По этой теме, и большинство ответов, кажется, полностью затушевывают часть вопроса «связанный сервер», уделяя основное внимание синтаксису базовой строки подключения.

20.08.2008 15:03:26
4 ОТВЕТА

создание связанного сервера из .NET не имеет никакого смысла, поскольку связанный сервер - это не что иное, как соединение одного сервера sqlserver с другим сервером (sql, file, excel, sybase и т. д.), по сути это просто строка соединения (вы может выдавать себя за другого и делать другие вещи при создании связанного сервера).

0
20.08.2008 16:31:44

Я не верю, что вы можете получить доступ к связанному серверу напрямую из приложения без синтаксиса OpenQuery. В зависимости от сложности вашей схемы может иметь смысл написать подпрограмму или sproc для заполнения вашей промежуточной базы данных данными из вашей действующей базы данных.

Вы также можете рассмотреть возможность создания Redgates SQL Data Generator или любого другого инструмента сбора данных. Redgates довольно прост в использовании.

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

2
20.08.2008 17:29:23

Создайте хранимые процедуры тестирования на сервере B, которые ссылаются на данные на сервере A через связанный сервер. например, если ваш обычный sproc ссылается на таблицу на сервере B, скажите:

databaseA.dbo.tableName

затем используйте связанное имя сервера для ссылки на ту же базу данных / таблицу на сервере A:

linkedServerName.databaseA.dbo.tableName

Если сервер А идентичен в именах своих баз данных / таблиц / столбцов, то вы сможете сделать это с помощью некоторого быстрого поиска / замены.

2
20.08.2008 20:02:57

Одним из способов является создание двух строк подключения и доступ к соответствующей базе данных при необходимости. Второй вариант - создать соединение только для базы данных A и создать сервер ссылок для базы данных B в Database.good, мне это очень нравится. Я немного занимаюсь исследованием соединения с Asp.net и нашел, что макротестирование www.macrotesting.com является очень хорошим источником. Спасибо за статью .....

С уважением ... Meganathan .J

0
29.06.2009 13:28:10