Создать проект установки в Visual Studio 2017 (с базой данных MSSQL Server) - PullRequest
0 голосов
/ 18 апреля 2019

Я выполнил проект с использованием C # (Windows Form Application) и использовал MSSQL Server 2017 для операций с базами данных.Мой проект выглядит следующим образом;пользователь выбирает значение из списка и нажимает кнопку для анализа.После этого процесса я выполняю математическую операцию над значениями из таблицы и выводю результаты в DataGridView.Таким образом, пользователь не будет выполнять какие-либо действия с базой данных, вы можете считать его доступным только для чтения.

  • Какие проблемы могут возникнуть при установке этого проекта для пользователя?
  • Нужно ли устанавливать MSSQL Server для пользователя?Я установил его на своем компьютере и установил на своем компьютере, и проблем не было, я добавил резервную копию своей базы данных на сервере MSSQL в свой установочный файл.Достаточно ли быть таким?
  • Будут ли у меня проблемы с операциями с базой данных при установке на другом компьютере?
  • Нужно ли менять предложение SQL-соединения?

Ответы [ 2 ]

1 голос
/ 18 апреля 2019

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

Я бы посоветовал вам оставить это в стороне и использовать SQL Server Express LocalDb (файл .mdb), который можно довольно легко установить;или вы могли бы даже использовать SQLite, который не требует установки.

По поводу ваших вопросов:

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

Возможно, вы столкнетесь с множеством проблем, установка SQL Server может завершиться сбоем из-за тысяч различных проблем, а удаление может очень легко привести систему в поврежденное состояние.

Нужно ли устанавливать MSSQL Server для пользователя?Я установил его на своем компьютере и установил на своем компьютере, и проблем не было, я добавил резервную копию своей базы данных на сервере MSSQL в свой установочный файл.Достаточно ли быть таким образом?

Если вы хотите использовать SQL Server, тогда да, потребуется установка.

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

Предполагается, что установка прошла нормально, не возможно.

Нужно ли менять предложение SQL-соединения?

Не совсем, использование Server= .\KnownServerInstanceName было бы достаточно, чтобы оно работало всегда.

1 голос
/ 18 апреля 2019

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

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

Существует ряд проблем, которые могут возникнуть в зависимости от различных факторов, однако если выиспользовать удаленный сервер для вашей базы данных, у вас, вероятно, будет меньше из-за не зная точно, как получить доступ к базе данных

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

Какие проблемы могут возникнуть при установке этого проекта для пользователя?Нужно ли устанавливать MSSQL Server для пользователя?

Скорее всего, вам потребуется только предоставить пользователю файл базы данных.Проблема, с которой вы можете столкнуться, заключается в том, что если вы предоставите пользователю базу данных и разместите ее на своем компьютере, вы можете столкнуться с проблемой неправильного расположения базы данных относительно строки подключения в вашем app.config.

Достаточно ли быть таким?Будут ли у меня проблемы с операциями с базой данных при установке на другой компьютер?Нужно ли мне менять предложение SQL-соединения?

Да, вы захотите изменить предложение SQL-соединения, если вы загружаете базу данных на компьютер пользователя, если вы не можете использовать базу данных, расположенную в соответствующем месте.как в строке подключения.

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

Не следует.

Нужно ли мнеизменить предложение SQL-соединения?

Точно нет, если вы разместите свою базу данных на сервере.Возможно, если вы загрузите базу данных на компьютер пользователя.

Примечание:

Если вы хотите сделать проект переносимым и не иметь базы данных на сервере, я рекомендую вамсоздайте файл .mdf (это формат файла, используемый Microsoft SQL Server.), и вы создадите файл в папке отладки вашего проекта (или там, где когда-либо находится ваш файл .exe) и назовите его DATABASE, а затем поместите в него файл .mdf.файл.Теперь измените строку подключения, чтобы найти эту базу данных, помещенную в папку DATABASE из текущего каталога, который будет той папкой Debug проекта.Это должно позаботиться о большинстве ваших проблем, потому что, где идет проект, так и файл базы данных.

Вот как вы можете настроить conString:

connectionString="data source={AppDir}\data\DATABASE\yourDataBaseName.mdf

В вашем коде:

ConnectionStringSettings c = ConfigurationManager.ConnectionStrings[name];  



if (c == null)
{
    ... handle missing connection string ...
}
string fixedConnectionString = c.ConnectionString.Replace("{AppDir}", AppDomain.CurrentDomain.BaseDirectory);
... use fixedConnectionString

это всегда будет начинаться из каталога, в котором находится ваш .exeнаходится.

PS Если вы используете базы данных sql много, я настоятельно рекомендую ssms, который является SQL Server Management Studio.Это сделало вещи намного легче для меня.Может помочь тебе тоже.:)

...