Roy1209 Ответов: 1

Развертывание приложения windows с помощью clickonce с базой данных SQL server 2008


У меня есть приложение windows, и я хочу создать приложение click once.После создания приложения clickonce из visual studio при развертывании файла на клиентской машине он выдает ошибку при попытке доступа к базе данных.Я включил файл базы данных в приложение clickonce.Файл базы данных хранится на клиентском компьютере по месту нахождения :
C:\Users\Admin\AppData\Local\Apps\2.0\Data\8Z14E1HB.329\P54O9PWP.VCY\ Наин..tion_b5deb07cfd237918_0001.0000_ce0d12c892dd7f73\\база данных 1 данных.МДФ

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

Эта строка подключения отлично работает, когда я запускаю код из visual studio, но не работает на стороне клиента.

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

Попытался изменить строку подключения, но безрезультатно.Если keep same connectionstring выдает ошибку 'a network related or instance specific error while establishing connection to Sql Server error-40 Could not open connection to Sql Server '

[no name]

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

1 Ответов

Рейтинг:
7

Richard Deeming

Это не то, как работает SQL Server. Вы не копируете .mdf файл на клиентском компьютере; вы присоединяете его к существующему экземпляру SQL Server и заставляете клиента подключиться к этому экземпляру.

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

Вредные привычки : используя ключевое слово attachdbfilename - команда SQL часовой SentrySQL блог[^]

Также обратите внимание, что эта функция будет удалена в будущей версии:


Эта функция будет удалена в будущей версии Microsoft SQL Server. Избегайте использования этой функции в новых разработках и планируйте изменять приложения, которые в настоящее время используют эту функцию.


Если вам нужна простая файловая база данных, вы можете использовать Localdb с[^], но это все еще нужно установить. В качестве альтернативы вы можете использовать SQL CE, но у него гораздо меньше возможностей.

SQL Express v LocalDB v SQL Compact Edition-Джерри Никсон[^]


Karthik_Mahalingam

5