2016-11-28 1 views
1

Я создал веб-приложение .net с помощью C#, которое вставляет, обновляет и удаляет данные из базы данных SQL-сервера. Я протестировал его, используя мой localhost, и он отлично работает. Теперь я хотел бы опубликовать это приложение на размещенном сайте.Подключение к базе данных SQL Server с использованием размещенного веб-приложения

На мой вопрос: нужна ли база данных на том же сервере/хосте, к которой приложение подключено?
Есть ли у кого-нибудь советы о том, как это реализовать?

+1

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

+0

Привет, чтобы сделать ее короткой: никакой базы данных не может быть где-либо еще. Но и вопрос вроде «Кто-нибудь есть какие-то советы о том, как это реализовать?» не принадлежат к SO. –

+0

Нет необходимости в том же сервере/хосте для базы данных и приложения. – Munavvar

ответ

0

Если ваш вопрос «Как подключить существующую базу данных на другой сервер», то вы должны добавить IP-адрес в файле Web.config как:

<connectionStrings> 
    <add name="myConnectionString" connectionString="data source=myserver\SQLEXPRESS;initial catalog=myDatabase;uid=myUserName;password=myPassword;" /> 
</connectionStrings> 

data source может быть IP-адрес или ПК NAME, где хранится база данных.

+0

Спасибо за ваш ответ!Да, это небольшое приложение, которое я делаю как личный проект. Если у меня есть база данных на моем локальном компьютере, я использую свой IP-адрес для источника данных, чтобы сопоставить его с этой базой данных? –

+0

В этом случае вы можете написать имя сервера: «data source = localhost» – Vikrant

+0

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

2

Нет, вам не нужно запускать базу данных на том же сервере, что и приложение. Для масштабируемости может быть наилучшей практикой отделить два, один выделенный сервер для вашей БД и один сервер для размещения всех ваших веб-сайтов.

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

0

действительно ли база данных должна находиться на том же сервере/хосте, к которой приложение подключено?

Это ДО вы поставить базы данных на одном компьютере или другом machine.You могут выбрать следующие сценарии

  • Если это простой веб-сайт и у вас есть только одна машина, то вы можете установить базу данных на том же сервере (или если он уже присутствует). В этом случае строка подключения может или не должна изменяться в зависимости от типа используемой строки подключения (например, если ваше имя экземпляра SQL-сервера отличается, строка подключения изменится)
  • Ваш сайт может получить сложный или обрабатывать большой объем данных, имеет смысл использовать выделенную базу данных se RVer .Эта случае строка подключения изменится

Кто-нибудь есть какие-либо советы о том, как осуществить это?

Самый простой способ борьбы с этим используется web.config transformation.All вам нужно сделать, это создать новый Web.Release.Config

Пожалуйста, передать этот ответ для получения более подробной информации How do I use Web.Config transform on my connection strings?

Смежные вопросы