Joy Oluwatomilayo Adeniran Ответов: 1

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


Я разработал программное обеспечение с VS 2013 и базу данных С MS Sql server 2014. Я создал пользователя "admin" для localdb, прикрепил его к установке с помощью installshield, но все равно получаю исключение "Login failed for user admin" после запуска на другом компьютере. Что же остается делать? Я буду признателен за любую помощь.

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

У меня установлен экземпляр SQL на другой компьютер.
Я попробовал запустить проект на своем компьютере, и он отлично работает даже после того, как я отсоединил БД от sql server management studio.

Joy Oluwatomilayo Adeniran

Огромное спасибо.

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

Как мне это сделать, пожалуйста?

1 Ответов

Рейтинг:
9

OriginalGriff

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

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

Если вам не нужно, чтобы несколько пользователей обращались к одной и той же БД, измените свой код, чтобы использовать SqLite, Sql Server Compact или даже Access - которые не нуждаются в отдельном установочном приложении и предназначены только для доступа одного пользователя.