#vb.net #sql-server-ce #clickonce
#vb.net #sql-server-ce #clickonce
Вопрос:
Я смог создать приложение в VB.net который взаимодействует с базой данных SQL Server CE.
Теперь я хочу развернуть это приложение, используя функцию публикации с помощью clickonce.
Проблема, с которой я сталкиваюсь, заключается в том, что когда я устанавливаю приложение на другой компьютер, оно продолжает искать мой sql server на моем компьютере для разработки.
Я добавил .sdf при упаковке моего решения, но это все еще проблема.
Как мне изменить строку подключения для подключения к файлу .sdf, который я включил в пакет?
это моя текущая строка подключения, которая просматривается на сервере sql: ConnectionString = «Источник данных = CHRIS-PC SQLEXPRESS; Начальный каталог = ce_db; Встроенная безопасность = True»
Спасибо!!
Ответ №1:
Строка подключения = «Источник данных = localhost SQLEXPRESS; Исходный каталог = ce_db; Встроенная безопасность = True»
или, возможно
connectionString = "Data Source=" (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) "\ce_db.sdf;Persist Security Info=False;";
эта строка подключения работала бы, если бы у вас была база данных в том же каталоге, что и исполняемый файл, использующий ее.
по сути, источником данных является либо сервер базы данных, к которому вы подключаетесь, либо файл базы данных, к которому вы подключаетесь.
Если вы используете файл, то у вас есть только один каталог. и если вы используете сервер, то вы захотите указать конкретный каталог, используя начальный атрибут catalog строки подключения.
Комментарии:
1. однако я думаю, что для этого потребуется установить sql Express.
2. Привет, Джейсон — я пытаюсь ограничить пользователя в установке sql Express, поэтому я использовал версию CE с clickonce
3. Им все равно придется установить предварительный запрос CE. Я создал приложение, которое просто открыло базу данных с жесткого диска. но мне пришлось создать установщик, который загрузил SQL CE из Microsoft и также установил его.
4. Да, верно, им придется установить предварительный запрос CE… к сожалению, я попробовал 2 приведенные выше строки, и обе, похоже, не сработали. Должен ли ce_db.sdf быть помещен в каталог моего проекта в определенном месте? нужно ли его просто добавить в проект как «существующий элемент»?
5. ну, как отмечено в блоке кода в моем ответе. вы можете использовать путь к файлу, который ведет к базе данных, в качестве источника данных, а не использовать sql server и сопутствующий исходный каталог. это должно обеспечить вам необходимое подключение.