Получение ошибки сервера SQL при попытке доступа к сайту с использованием удаленного URL-адреса, а не локального - PullRequest
0 голосов
/ 25 декабря 2009

Не удалось создать пользовательский экземпляр SQL Server из-за сбоя при получении пути к данным локального приложения пользователя. Убедитесь, что у пользователя есть локальный профиль пользователя на компьютере. Соединение будет закрыто.

Это ошибка, которую я получаю. Если я пытаюсь получить доступ к веб-сайту с помощью localhost, он работает нормально. Но когда я использую его через удаленный URL, он выдает эту ошибку.

Мне кажется, что-то не так с моим файлом web.config.

Строка подключения, которую я использую

В коде C # .....

        SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Thesis_Database.mdf;Integrated Security=True;User Instance=True");

Пожалуйста, помогите .... SqlDataReader rdr = null;

Ответы [ 2 ]

0 голосов
/ 26 декабря 2009

Мне пришлось добавить новую строку в строку подключения в файле web.config, чтобы решить проблему:


> <connectionStrings>   add this to your
> web.confog file.   <remove
> name="LocalSqlServer"/>      <add
> name="LocalSqlServer"
> connectionString="Data
> Source=.\SQLExpress;Integrated
> Security=True;User
> Instance=True;AttachDBFilename=|DataDirectory|aspnetdb.mdf"/>

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

перейдите на iis manager.go на вкладку «Пул приложений». в каждом экземпляре пула приложений Нажмите Расширенные настройки и измените Profie пользователя на «Локальная система». Это должно решить проблему.

0 голосов
/ 25 декабря 2009

Это связано с подражанием.

Пользователь, попавший на вашу страницу, должен иметь локальную учетную запись пользователя на компьютере, и, поскольку у вас есть «User Instance = True», копия главной базы данных будет скопирована в:

C:\Documents and Settings\<Username>\Local Settings\Application Data\Microsoft\Microsoft SQL Server Data\SQLEXPRESS

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

Может ли быть так, что вы не выполняете олицетворение на веб-сервере, поэтому он пытается подключить экземпляр db как пользователь AppPool?

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