Подключение к базе данных SQL Server с использованием VS2008 - PullRequest
0 голосов
/ 15 июля 2009

Я использую VS2008, и обычно я разрабатываю свои сайты из папки App_Data, а затем просто загружаю весь сайт на сервер.

Теперь у меня есть сайт, и БД SQL уже запущена на сервере (не в папке App_Data, я использую SQL Studio Mgement для подключения к нему и редактирования), поэтому вместо этого вносим изменения в локальную БД, а затем снова к тому, что на сервере. Могу ли я просто подключиться к базе данных на сервере с помощью Visual Studio 2008? Тогда я, по крайней мере, смогу увидеть живые данные и сразу внести изменения, если это необходимо?

Любые учебники о том, как настроить это очень ценится

(Я понимаю, что это, вероятно, не идеальная ситуация, но это личный проект, и только я работаю над ним)

Ответы [ 6 ]

2 голосов
/ 17 июля 2009

В обозревателе серверов нажмите кнопку «Подключиться к базе данных»:

alt text

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

alt text

Это добавит новую базу данных, и вы сможете использовать таблицы и т. Д.

alt text

0 голосов
/ 17 июля 2009

В меню VS2008 выберите Сервис -> Нажмите «Подключиться к базе данных ...» -> Введите правильные учетные данные SQL в диалоговом окне «Добавить подключение» -> Просмотр подключения к БД на панели обозревателя сервера.

0 голосов
/ 16 июля 2009

Могут быть некоторые проблемы с такой настройкой в ​​зависимости от того, как была настроена безопасность SQL Server. Вы можете попасть в проблему с двойной пересылкой для авторизации. Если SQL Server настроен только для встроенной проверки подлинности Windows, мы столкнулись с некоторыми трудностями. Пользователь будет проходить проверку подлинности на веб-сервере, но поскольку SQL Server находится на другом компьютере, отправленные ему учетные данные будут являться учетными данными веб-серверов, а не тем, что пользователь не сможет выполнить какие-либо вызовы SQL Server из-за прав безопасности. Некоторые параметры необходимо будет изменить в Active Directory, чтобы разрешить авторизацию веб-сервера для делегирования, а также необходимо настроить безопасность Kerberos в вашей сети. Ваша ситуация может быть другой, но просто на что-то обратить внимание.

0 голосов
/ 16 июля 2009

Вы, очевидно, хотите подключиться к ASPNETDB, который не находится в каталоге по умолчанию веб-проекта, поэтому ...

Я нашел хороший способ переместить местоположение базы данных ASPNETDB в Visual Studio 2008 в другое место на уровне всей машины. Вы можете переопределить этот параметр, отредактировав webapp.config, но я считаю, что в большинстве случаев он более сложный и ненужный.

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

Вы можете настроить свой проект dev так, чтобы он отражал живой сайт, на котором вы развернули. Для этого просто выполните следующие действия для Visual Studio 2008:

A. Удалите все ранее существующие экземпляры сервера Microsoft SQL, включая SQL 2005 и любые облегченные или компактные выпуски. Это требует перезагрузки системы. Примечание: сделайте резервную копию всех ваших баз данных, отсоединив их с помощью SSMSE, а затем сохранив файлы mdf и ldf в безопасном месте. Если вы используете x64 Vista, вы можете удалить каталоги SQL Server в каталоге x86 Program Files.

B. Перезагрузите и установите SQL Server 2008. После установки включите протоколы прослушивателей «Именованные каналы» и «TCP» для службы. Также включите учетную запись «sa» и установите пароль для учетной записи «sa». Кроме того, измените экземпляр сервера SQL на использование «аутентификации в смешанном режиме».

C. Отредактируйте C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG \ machine.config так, чтобы это было в разделе строк подключения:

ADD name = "LocalSqlServer" providerName = "System.Data.SqlClient" connectionString = "источник данных = LOCAL \ SQLEXPRESS; Интегрированная защита = SSPI; база данных = aspnetdb"

D. Найдите файл aspnet_regsql.exe и запустите его, чтобы создать базу данных aspnetdb. Когда он запрашивает имя базы данных, выберите «default», и он создает базу данных с именем «aspnetdb».

E. Сделайте приложение пригодным для использования через IIS без среды отладки с помощью неинтегрированной защиты. Вам необходимо «включить» отключенную учетную запись «sa», сделать «sa» владельцем базы данных aspnetdb, а затем убедиться, что на вашем SQL Server включен «Режим аутентификации SQL Server». Наконец, добавьте этот раздел в файл webapp.config:

ADD name = "LocalSqlServer" providerName = "System.Data.SqlClient" connectionString = "Сервер = LOCAL \ SQLEXPRESS; База данных = aspnetdb; Идентификатор пользователя = sa; Пароль = пароль; Trusted_Connection = False"

0 голосов
/ 15 июля 2009

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

Это входит в ваш web.config файл:

...
<configuration>
  ...
  <connectionStrings>
    <add name="MyConnectionString" connectionString="Data Source=SERVERNAME;Initial Catalog=MyDatabase;Integrated Security=True"
     providerName="System.Data.SqlClient" />
  </connectionStrings>
  ...
</configuration>
...

Затем из вашего кода вы можете получить строку подключения из файла web.config:

string myConnectionString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;

и используйте его для подключения к базе данных, используя класс SqlConnection:

using (SqlConnection connection = new SqlConnection())
{
    connection.ConnectionString = myConnectionString;
    connection.Open();
    // use the connection ...
}

В строке подключения можно указать несколько параметров для указания учетных данных и других свойств. См. SqlConnection.ConnectionString документацию для таблицы различных свойств, которые вы можете установить.

Только будьте осторожны: вы используете живую базу данных и не хотите ничего ломать! Хорошей идеей будет взять копию вашей действующей базы данных и запустить ее в локальном экземпляре SQL Server (даже в SQL Server Express Edition).

0 голосов
/ 15 июля 2009

Почему бы не получить доступ к прямой трансляции из студии управления SQL?

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