EngAb1989 Ответов: 2

Как я могу использовать свои приложения на любой машине, не создавая базу данных и ее таблицы каждый раз на новой машине?


Я разработал приложение, которое в основном использует базы данных sql для хранения и сохранения данных. Моя проблема заключается в том, что приложение хорошо работает на моей машине, потому что MySQL Workbench установлен локально на моей машине и нет проблем с подключениями между приложением и моим sql. Однако после того, как я установил приложение на другой компьютер, я не могу работать и всегда получаю (необработанное исключение произошло в вашем приложении). Я знаю, что проблема заключается в отсутствии баз данных и sql на второй машине.

Мой вопрос заключается в следующем: как я могу использовать свои приложения на любой машине, не создавая базу данных и ее таблицу каждый раз на новой машине? можно ли экспортировать sql databse и использовать его отдельно от MySQL workbench? Другими словами, есть ли какой-либо способ, который может заставить мое приложение хорошо работать на любом компьютере, используя файлы sql databse в моем приложении и сделать мое программное обеспечение независимым от MySQL workbench

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

Проблема может быть решена, если я установлю MySQL workbench на второй компьютер и настрою таблицы базы данных. каждый раз я должен делать подобную процедуру.
Как я могу использовать файлы databses в своем приложении, которые могут сделать приложение пригодным для использования в любом программном обеспечении без установки MySQL каждый раз.

2 Ответов

Рейтинг:
8

RickZeeland

Вот обзор облегченных баз данных, с их плюсами и минусами:
https://www.slant.co/topics/69/~лучшие-облегченные-базы данных[^]


EngAb1989

Большое спасибо, я нашел, что это очень полезно

Рейтинг:
16

OriginalGriff

MySQL - это многопользовательская база данных, что означает, что она установлена на сервере, и различные клиентские приложения (например, ваши) подключаются к ней, и все они обращаются к одной и той же базе данных.
Это прекрасно, но это требует значительных инвестиций на одном компьютере для поддержки сервера БД, и это требует, чтобы новые базы данных были построены на этом сервере MySQL, прежде чем любой из клиентов сможет получить к ним доступ.

И это то, что вы делаете, когда устанавливаете Workbench - устанавливаете MySQL на локальную машину, чтобы использовать его в своем приложении.

Это совсем не идея - если вам нужно несколько копий БД, чтобы у каждого пользователя была своя собственная, то используйте однопользовательскую БД, такую как SQLite или Access - dont; используйте MySql или SQL Server вообще, поскольку они являются "тяжеловесными" решениями, предназначенными для нескольких пользователей и требующими значительных инвестиций от клиента, который вряд ли будет популярен.
Например, если бы ваше приложение пришло ко мне и настояло на установке MySQL, оно было бы удалено в спешке: я уже запускаю SQL Server локально для dev и не нуждаюсь в установке другой серверной системы БД!

Если вам нужен многопользовательский доступ, используйте серверную БД и сделайте клиент, имеющий рабочую установку, предварительным условием вашего установщика. Если вы этого не сделаете, используйте однопользовательскую БД, которая имеет гораздо меньший размер, и просто включите необходимые DLL-файлы в свое приложение.


EngAb1989

Большое спасибо за ваше решение,
Если я хочу исправить MySQL workbench на одном компьютере и установить свое приложение на нескольких компьютерах,

должен ли я изменить эту часть кода? вы не знаете, где именно мне следует переодеться ?

Строка^ constring = л"источник данных=localhost;для порта=3306;имя пользователя=root;пароль=123*;сохранять сведения о безопасности=true;в базе=studentsgradesystem;преобразование нулевого типа datetime=истина";

OriginalGriff

Вам, конечно, придется это изменить - и я настоятельно рекомендую использовать конфигурационный файл вместо жесткой строки, - но именно то, что вы его измените, будет зависеть от локальной среды и от того, как (и где!) MySQL был установлен и настроен. Мы не могли сказать вам, какой должна быть строка, потому что она потенциально будет отличаться для каждой установки - отсюда и конфигурационный файл!

Но... использование корневого доступа-это большое нет-нет! Вы должны использовать его только для настройки MySQL и настройки учетных записей пользователей - тогда вы используете учетную запись пользователя, которая имеет только те разрешения, которые необходимы вашему приложению для выполнения своей работы.