2008-09-08 3 views
9

HI Все,Развертывание MySQL Server + DB с .Net-приложением

У нас есть приложение .Net 2.0, в котором есть сервер MySQL. Мы хотим иметь возможность развертывать MySQl и БД, когда мы устанавливаем приложение и пытаемся найти наилучшее решение. Текущая настройка - скопировать необходимые файлы в папку на локальном компьютере, а затем выполнить команды «NET START» для установки и запуска службы mysql. Затем мы восстанавливаем резервную копию БД на этот недавно созданный экземпляр mysql, используя файлы bat. Это не идеальное решение, и я пытаюсь придумать что-то более надежное.

Проблемы, связанные с правами пользователя на Vista, и всевозможные мелкие вещи при установке и запуске службы. Его слишком хрупкий, чтобы быть надежным или, по крайней мере, он появляется таким образом, когда я его тестирую. Это настройка типа Клиент/Сервер, поэтому нам нужно установить только один сервер на один офис, но я хочу убедиться, что он как можно более бесплатный и с максимально возможным количеством экранов.

Как вы это сделаете?

ответ

5

Не знаете, где вы находитесь в проекте, но если это простая и небольшая база данных, вы можете рассмотреть возможность ее преобразования в SQLite. Это не идеально подходит для операций Client/Server, но если это низкий объем/транзакции, это может сработать.

3

Используйте установщик с отработанным сценарием. Любой установщик, такой как Wise, InstallShield, InnoSetup и т. Д., Вероятно, сделает это.

0

С настройкой Client/Sever вам разрешено требовать, чтобы тот, кто устанавливает сервер, установил его как администратора. Это должно решить большинство ваших проблем.

Снова - это сервер. Клиенты могут быть другой историей.

3

Мы использовали другой подход. Мы делаем MySQL xcopy-способным, называя оболочку для создания файла конфигурации (my.ini) перед вызовом MySQL (чтобы правильно настроить базовый путь и т. Д.). Затем мы написали другую службу, установленную с использованием стандартной настройки. Эта служба позаботится о запуске MySQL и другой необходимой фоновой программы (в нашем случае Apache) для нас. Поскольку MySQL развертывается нами, мы хотели иметь полный контроль над ним.

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

  • Нет связанных вопросов^_^