Совместное использование SQL Server между несколькими системами - PullRequest
0 голосов
/ 22 сентября 2011

У меня три компьютера в офисе, и я установил проект C # -2005 на все три компьютера

.Но проблема в том, что Босс хочет, чтобы Sql-server-2000 на одном ПК из трех, а другие

разделяли бы одно и то же.

Я не знаю, как разделить Sql-server-2000 междутри ПК?Как это сделать?

Путаница: -

Спасибо за ваше сотрудничество, но здесь у меня путаница с большинством людей, которые говорят, что проверяют

TCP / IP адрес и рассмотрим строку подключения согласно главному серверу с клиентского ПК.

Предположим, у меня есть финансовый проект, и в проекте

будет тысяча строк подключения.Как указано выше, я должен изменить тысячу строк подключения в соответствии с основным ПК.

Теперь подумайте, что это потребность одного клиента. Если у меня есть десять клиентов с таким же предложением, чем подумайте, сколько времени я должен потратить на это?Я должен изменить тысячу строк подключения в десять раз больше?

Если это правда, то на установку каждому клиенту уйдет много времени.

Не знаю, так ли это только??

Строка подключения, которую я использовал для каждой winform-формы, выглядит следующим образом:

string connstr = "server=.;initial catalog=maa;uid=mah;pwd=mah";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();

Здесь предлагается файл конфигурации, и я не знаю, дает ли какой-либо орган представление о том, как его рассматривать смой проект на C # 2005, который сэкономит мне много времени.

Ответы [ 4 ]

3 голосов
/ 22 сентября 2011

Когда вы подключаетесь к базе данных в своем коде, вы где-то там видите строку подключения к базе данных.Выясните строку подключения к серверу базы данных и установите свой код так, чтобы он указывал на информацию о соединении этого сервера базы данных;Держу пари, что в данный момент вы указали localhost

Если вы используете SQL Server, вам может потребоваться включить удаленные подключения на сервере базы данных.

добавлено: может потребоваться изменить настройки брандмауэра, чтобы разрешить трафик SQL Server (спасибо Джареду)

.

Редактировать : для помещения конфигурациистрока в центральном месте.

Ваш отправленный код

string connstr = "server=.;initial catalog=maa;uid=mah;pwd=mah";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();

Измените на

Предполагая, что ваше приложение имеет приложение.Config файл, тогда вы добавите туда запись, например

<add key="DBConnectionString" value="server=.;initial catalog=maa;uid=mah;pwd=mah"/>

, и измените свой код C # на

string connstr = ConfigurationManager.AppSettings["DBConnectionString"];
SqlConnection conn = new SqlConnection(connstr);
conn.Open();

. Внесение вызова ConfigManager в класс может быть хорошимИдея, если у вас много настроек для извлечения и / или вы полагаете, что методология хранения конфигурации может измениться в будущем.Следовать приведенному выше примеру лучше, чем разбросать строковый литерал по всему коду.

2 голосов
/ 22 сентября 2011

Включить соединение TCP/IP в SQL Server.Так что вы можете подключиться удаленно с любого компьютера в сети

отметьте здесь

1 голос
/ 23 сентября 2011

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

  1. Добавьте строку подключения в файл app.config.
  2. Создайте статический / общий метод, который будет считывать строку подключения из файла конфигурации.
  3. Выполните поиск и замену в своем решении, чтобы заменить все жестко закодированные строки соединения в вашем коде именем (класса и) метода, который получает строку соединения.* Вероятно, это будет проще, чем переписать все ваши вызовы данных, чтобы использовать что-то вроде корпоративной библиотеки или EF.
0 голосов
/ 22 сентября 2011

Вам нужно будет сделать то, что предложили другие, например, изменить строку подключения и включить TCP / IP в SQL Server, но вам также, вероятно, потребуется настроить брандмауэр для разрешения запросов к SQL Server (порт по умолчанию 1433)через.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...