Nganku Junior Ответов: 2

Как развернуть программное обеспечение C#


Привет Я работаю на Windows 10 и написал программное обеспечение на visual studio pro. 2015 с базовой базой данных M & S Sql Server 2016. Я должен развернуть тест этого программного обеспечения в системе windows 7, поэтому я создал виртуальную машину windows 7, на которой я надеялся протестировать это программное обеспечение
. само программное обеспечение установлено, однако проблема заключается в базе данных.
M & S Sql Server 2016 не может быть установлен на Windows 7 SP1, поэтому я установил на него M&s Sql Server 2012. Я сгенерировал сценарий базы данных программного обеспечения и даже сделал холодную копию файлов базы данных mdf и ldf, но все равно безуспешно. Как мне решить эту проблему, пожалуйста.

Что я уже пробовал:

1. Создать программный файл сценария базы данных из М&амп;Ы управления SQL сервером 2016 студия
2. остановите все службы, связанные с sql/ mssql
3. скопируйте файлы mdf и ldf базы данных программного обеспечения из среды разработки windows 10.
4. экспортируйте файлы в 1. И 3. К виртуальной машине windows 7
5.выполните команду M&ампер;с версии SQL Server 2012 на виртуальную машину
6.правой кнопкой мыши по базам данных в M&ампер;с помощью SQL Server 2012 и нажмите "прикрепить" и выберите файлы, в 3. Выше (результат неудачной)
7. запустите файл в 1. В M & s Sql Server 2012 (объявлена ошибка, поэтому процедура не удалась).

2 Ответов

Рейтинг:
7

OriginalGriff

Здесь есть несколько деталей.
Во - первых, вы не можете копировать файлы MDF и LDF SQL Server 2016 и ожидать, что они будут работать без изменений в версии 2012 года, так же как вы не можете купить компонент двигателя у Ford 2016 года и ожидать, что он будет соответствовать автомобилю 2012 года-очень вероятно, что деталь была изменена, а файлы данных часто меняются при изменении версии приложения. Вы часто можете использовать более ранние версии (и приложение обычно преобразует их в более позднюю версию при сохранении), но более ранняя версия программного обеспечения понятия не имеет, какие изменения могли быть внесены!

Но... вы вообще не должны устанавливать SQL server - ваше приложение должно подключаться к существующему экземпляру при его установке, иначе теряется главное преимущество использования серверной системы: многопользовательский, параллельный доступ к данным.
При установке SQL-сервера приложения потом установить :

0)вы можете распространять SQL Server Express только по соображениям авторского права , а не полную версию SQL Server.
1) возможно, у них уже установлен SQL Server в сети. Если это так, то они, вероятно, захотят использовать эту версию.
2) Если у них действительно установлен SQL server и вы начинаете распространять экземпляры SQL server Express, вы будете чертовски раздражать администратора базы данных...
3) Установка SQl Server на одном сайте с гораздо большей вероятностью будет поддерживаться резервным копированием, чем несколько разрозненных версий под контролем пользователя.
4) Sql server довольно сложен для установки и администрирования" обычным " пользователем - это не очень хорошая идея!

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


Рейтинг:
18

#realJSOP

0) Все, что вам нужно сделать, это указать, что конкретная версия SqlServer является обязательным условием в вашем установщике. Ваш установщик позаботится обо всем остальном.

1) Установка SQL Server через его установщик, вероятно, остановит связанные с ним запущенные службы. Тебе не стоит беспокоиться об этом.

2) Ваш установщик должен включать SQL-запросы (в виде файлов), необходимые для реализации схемы базы данных приложений.

3) Когда мне нужно создать схему БД для приложения, у меня есть код в приложении, который загружает файл(ы) запроса, необходимый для этого при запуске (в зависимости от того, была ли схема уже реализована, конечно). Альтернативой является написание небольшого консольного приложения, которое ничего не делает, кроме импорта схемы в установленный экземпляр SQL Server, позволяя приложению просто предполагать, что это уже сделано.