none
Как развернуть приложение ASP.NET с базой данных SQL Server в IIS RRS feed

  • Вопрос

  • У меня есть проект ASP.net в котором я использую файл базы данных SQL server,

    , как его развернуть в IIS? 

    После публикации возникают ошибки взаимодействия с базой данных. 

     

    Shilin Andrej

Ответы

  • Не стоит использовать LocalDB для веб-приложений, равно как и не стоит вкладывать файл базы данных в проект таким образом. LocalDB - для разработки и тестирования, причем только для очень простых сценариев. Для развертывания на рабочий сервер установите на него нормальный SQL Server Express, разверните в нем БД и используйте ее в приложении (ссылаясь по имени БД, а не по пути к файлу). В проект можно вложить скрипт SQLCMD для развертывания БД, если вам нужна возможность быстро создать БД с нуля.

    Но, если вас интересует способ исправления именно этой ошибки (про незагруженный профиль пользователя), посмотрите здесь: https://blogs.msdn.microsoft.com/sqlexpress/2011/12/08/using-localdb-with-full-iis-part-1-user-profile/

    • Помечено в качестве ответа Andrej.Shilin 21 мая 2019 г. 12:14

Все ответы

  •    Чтобы ответить нужно знать какие у Вас ошибки. Приведите текст.

    Если база совсем не читается, нужно посмотреть строку подключения в файле Web.config. Она должна подключать базу сайта.


    Фоновое изображение

  • Имя журнала:   Application

    Источник:      SQLLocalDB 13.0

    Дата:          16.05.2019 10:16:58

    Код события:   288

    Категория задачи:Отсутствует

    Уровень:       Ошибка

    Ключевые слова:Классический

    Пользователь:  Н/Д

    Компьютер:     ashilin.ingo.office

    Описание:

    Не удалось получить путь к данным локального приложения. Вероятнее всего, не загружен профиль пользователя. Если экземпляр LocalDB выполняется под управлением IIS, проверьте, включена ли загрузка профиля для текущего пользователя.

    Xml события:

    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">

      <System>

        <Provider Name="SQLLocalDB 13.0" />

        <EventID Qualifiers="35269">288</EventID>

        <Level>2</Level>

        <Task>0</Task>

        <Keywords>0x80000000000000</Keywords>

        <TimeCreated SystemTime="2019-05-16T07:16:58.000000000Z" />

        <EventRecordID>448118</EventRecordID>

        <Channel>Application</Channel>

        <Computer>ashilin.ingo.office</Computer>

        <Security />

      </System>

      <EventData>

      </EventData>

    </Event>


    Shilin Andrej

  • Не стоит использовать LocalDB для веб-приложений, равно как и не стоит вкладывать файл базы данных в проект таким образом. LocalDB - для разработки и тестирования, причем только для очень простых сценариев. Для развертывания на рабочий сервер установите на него нормальный SQL Server Express, разверните в нем БД и используйте ее в приложении (ссылаясь по имени БД, а не по пути к файлу). В проект можно вложить скрипт SQLCMD для развертывания БД, если вам нужна возможность быстро создать БД с нуля.

    Но, если вас интересует способ исправления именно этой ошибки (про незагруженный профиль пользователя), посмотрите здесь: https://blogs.msdn.microsoft.com/sqlexpress/2011/12/08/using-localdb-with-full-iis-part-1-user-profile/

    • Помечено в качестве ответа Andrej.Shilin 21 мая 2019 г. 12:14
  • Спасибо, теперь понял

    Shilin Andrej