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

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

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

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

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

ВЫБРАТЬ * ИЗ OpenQuery ([LINKEDSERVER], 'QUERY')

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
5
0
6 739
4

Ответы 4

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

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

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

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

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

databaseA.dbo.tableName

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

linkedServerName.databaseA.dbo.tableName

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

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

С Уважением... Меганатан .J

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