2012-05-30 4 views
1

Я перехожу от общего хостинга к виртуальному выделенному серверу (как в GoDaddy). Удивительно, до сих пор все шло хорошо. Однако теперь мое веб-приложение кажется неспособным подключиться к базе данных (которую я создал на сервере).строка подключения на виртуальном выделенном сервере не работает

Я попробовал несколько вариантов, в том числе давая ему имя сервера и т.д., например:

<add name="dbname" connectionString="Data Source=servername\SQLEXPRESS2008;Initial Catalog=theDB;User Id=servername\usernameAcceptedByMangmentStudio;Password=mypwd; Trusted_Connection=False;"/> 

также:

<add name="dbname" connectionString="Data Source=.\SQLEXPRESS2008;Initial Catalog=theDB;User Id=usernameAcceptedByMangmentStudio;Password=mypwd; Trusted_Connection=False;"/> 

также:

<add name="dbname" connectionString="Data Source=servername\SQLEXPRESS2008;Initial Catalog=theDB; Integrated Security=True;> 

(это, как это работает на моей локальной машине).

ничего не работает. есть идеи? заранее спасибо.

+0

, кстати, отсутствует имя 'providerName' – Aristos

+0

Вы уверены, что имя экземпляра' SQLEXPRESS2008'? Поддержка GoDaddy не предоставляет вам примерную строку подключения? –

ответ

0

Если DB имеет имя пользователя и пароль (SQL Server Authentication) просто использовать это:

<add name="dbname" connectionString="Data Source=yourServerName;Initial Catalog=YourDB;User ID=YouruserId;Password=YourPassWord" providerName="System.Data.SqlClient"/> 

FYI: Убедитесь, что проверка подлинности базы данных Сервер SQL Server и режим WindowsAuthentication

Вы можете также проверить : Connection strings for SQL Server 2008 для получения дополнительной информации.

С уважением

+0

Это не будет работать, если это именованный экземпляр. –

2

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

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

Вам необходимо подключиться к вашему серверу (предположим, вы можете удаленный рабочий стол или что-то подобное), затем откройте «Панель управления»> «Администрирование»> «Службы». В этом списке должен быть элемент под названием SQL Server, и это будет либо выглядеть следующим образом:

SQL Server (MSSQLSERVER)

Или это:

SQL Server (некоторое_имя)

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

"Data Source=localhost;..." 

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

"Data Source=localhost\some_name;..." 

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

Если это не поможет, вы должны быть более конкретными, чем «не работает». Вы не можете подключиться к серверу или базе данных?Каково фактическое сообщение об ошибке? Когда вы создали базу данных, вы использовали функции User Instances/AttachDbFileName? Вы можете показать снимок экрана диалога подключения в Management Studio, который является успешным? Является ли ваше приложение на сервере или на вашем локальном компьютере? Возможно ли, что вы должны указывать IP-адрес вместо различных локальных ссылок? Вы связались с поддержкой GoDaddy о своей проблеме? Они гораздо лучше оснащены, чтобы помочь вам, чем программировать. Q: & Сайт, так как он может подключиться к вашему серверу через 10 секунд и точно указать, как вы должны ссылаться на экземпляр SQL Server.

Что касается отличий, то именованные экземпляры обычно используются, когда вам нужно установить несколько отдельных экземпляров SQL Server. Обычно это не требование на производственной машине; гораздо более распространены на машинах разработки, где вы должны тестировать несколько версий, имитировать разные среды или временно во время миграции или бок о бок. Экземпляр по умолчанию прослушивается из коробки на порту 1433. Именованные экземпляры запускаются на других портах и ​​обычно используют службу SQL Browser для удаленных компьютеров, чтобы определить, как именно подключиться к ним.

+0

Большое вам спасибо за эти обширные освещающие объяснения. +1 за то, что вы так добры и полезны. Теперь мне удалось установить и запустить приложение на сервере (т. Е. Локально с помощью удаленного рабочего стола), самое страшное. после пробования нескольких строк подключения я использовал простейший: . Теперь, используя отладчик, все работает отлично. но приближаясь к веб-сайту с помощью браузера с другого компьютера, я не получаю информацию. Я буду держать checkin – dsb

+0

Если вы находитесь на другом компьютере, вы не можете сказать '.' - это значит, что это локально. Как ваш другой сервер должен найти ваш сервер базы данных? Мог бы он также найти мой сервер базы данных, если вы просто говорите, выходите в Интернет и находите любой SQL Server? Вам необходимо указать IP-адрес или полное доменное имя сервера, на котором работает SQL Server. Так что это должно быть что-то вроде «Источник данных = 45.34.22.12 \ SQLEXPRESS2008; ...» Вам также может потребоваться перейти на сервер базы данных и обязательно включить TCP/IP (в SQL Server Config Mgr), разрешить удаленные подключения , и открыть правый порт (ы) брандмауэра ... –

+0

Большое спасибо за всю помощь. Работая с отладчиком, я обнаружил, что проблема в том, что я не имел разрешенного пользователя в базе данных (работая локально, я мог подключиться к учетным данным Windows) Извините за недостаток знаний, я новичок в этом. После выяснения того, как определить пользователя, все работает сейчас. Большое вам спасибо, вы очень помогли! – dsb

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