Рейтинг:
5
OriginalGriff
Вы не должны включать 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, то у вас будет несколько копий вашей базы данных, каждая из которых используется одним человеком. Это вызовет некоторую путаницу и (в зависимости от того, как вы написали исходную базу данных) может потребовать значительных усилий для объединения в один экземпляр, когда проблема будет реализована.
Если вам нужна однопользовательская система БД, то используйте Access, SqlLite или Sql Compact - don;t распространяйте экземпляры SQL Server в производство!
Если вам нужна многопользовательская система БД, то вам нужно найти соответствующий существующий экземпляр SQL Server на клиентском сайте и загрузить на него свою БД.
3akram
спасибо за ваш совет ... извините, потому что английский-не мой родной язык .. теперь я должен изменить базу данных, которую я использовал в этом приложении, и создать новую, используя access, SqlLite или Sql Compact, но я не должен использовать sql server в своем приложении .. правильно ? ..
во-вторых ... я не понимаю, почему мое приложение не работало ... на другом компьютере ... у которого есть sql express ? это потому, что я использовал в своем приложении sql server и на другом компьютере sql express ?
спасибо снова :)
OriginalGriff
SQL Server спроектирован как многопользовательская БД - и в результате это большая, сложная часть программного обеспечения. Если вам не нужен многопользовательский режим, то вообще не используйте серверную БД - используйте однопользовательскую БД, которая меньше, проще, занимает меньше ресурсов на клиентском компьютере и не требует сложной установки. Все, что им нужно, - это пара DLL-сборок, поставляемых вместе с вашим приложением.
Вообще говоря, производственный SQL Server настроен иначе, чем Express edition - последний предназначен для разработки, а не для производства, и поэтому вы обычно получаете доступ к нему через авторизацию Windows. Производственные базы данных нуждаются в лучшей защите, поэтому вам нужна учетная запись пользователя для подключения, которая должна иметь соответствующие разрешения для конкретной БД, к которой вы обращаетесь, и вам, вероятно, нужен доступ администратора для создания или изменения БД.
3akram
спасибо, теперь я использую SQLite , я отброшу всю базу данных и создам ее снова с помощью SQLite
OriginalGriff
Всегда пожалуйста!
3akram
Я создал свою базу данных с помощью sqlite .. и все та же проблема, но теперь я знаю, почему 😂 .. в sqliteconnection просто отправьте строку, которая несет путь к базе данных в моем локальном .. когда я копирую программу, она не запускается, потому что соединение не открыто ни на одном локальном компьютере .. потому что в приложении нет подключения к пути
OriginalGriff
Не хотите ли попробовать еще раз, но на этот раз по-английски? :смеяться:
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы. И сейчас раннее утро, так что я не понимаю ни слова из этого! :)
3akram
😂😂
Простите, в следующий раз я попробую говорить по-английски.
Sqliteconnection con = @" ... Путь к моей базе данных находится здесь ... "
Это проблема, на другом компьютере .. этот путь не существует .
Вам не нужно отвечать , я просто хочу , чтобы вы знали, что проблема не в sql server .. проблема в том, что путь
OriginalGriff
Поэтому не кодируйте его жестко - храните в конфигурационном файле или подобном файле.