Как использовать ASPNETDB на виртуальном хостинге?

На моем сайте asp.net я использую локальную БД, строка подключения

Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\MyDataBase.mdf;Integrated Security=True;Connect Timeout=30

Итак, MyDataBase.mdf находится в папке APP_DATA.

Мне нужно использовать стандартный поставщик членства asp.net, для этого я запускаю утилиту C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regsql.exe и он создал мне новую базу данных ASPNETDB.MDF (и журнал aspnetdb_log.ldf) в папке APP_DATA, я заполнил ее пользователями и ролями через "Конфигурация ASP.NET"

Я загрузил его на свой общий хостинг, и сайт отлично работает, включая получение данных из базы данных MyDataBase.mdf, но как только я хочу войти в систему пользователя, который находится в ASPNETDB.MDF, сайт выдает ошибку:

При установке соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений. (поставщик: сетевые интерфейсы SQL, ошибка: 26 - ошибка при поиске сервера / указан экземпляр)

Как решить эту проблему?

Спасибо!

1 ответ

Решение

Я не уверен, что вы имеете в виду, когда говорите "... сайт работает отлично, ..." (ваш сайт, их сайт).

Большинство сайтов с общим хостингом, на которых я запускаю сайты, не позволяют запускать базы данных SQL Server Express из-за управления ресурсами.

Что вам нужно сделать, это использовать базу данных SQL Server сайтов. Через их консоль администратора вы должны увидеть способ создания экземпляра базы данных. Они будут / должны дать вам строку подключения, которую ваша программа будет использовать для подключения к базе данных. С помощью этой строки подключения вы можете или не можете подключиться к ней из дома (некоторые веб-хосты разрешают это другим, но не разрешают).

Если вы можете подключиться через дом с помощью Sql Server Management Studio, то вы в хорошей форме. Вы можете использовать aspnet_regsql.exe и указать его на размещенную базу данных (используя параметр строки подключения), чтобы он генерировал все таблицы, представления, роли и т. Д.

Если вы не можете напрямую подключиться к базе данных из дома, попросите SQL Management Studio сгенерировать сценарий (щелкните правой кнопкой мыши базу данных -> Задачи -> Создать сценарии) и создайте сценарий для всей базы данных. Если вы хотите, чтобы данные также отправлялись, убедитесь, что вы включили опцию для сценария данных и схемы (не включена по умолчанию). Затем с помощью этого сценария sql (в файле.sql) вы можете загрузить его на хост и заставить его запустить сценарий через консоль администратора.

Другие вопросы по тегам