Проблема подключения к SQL Compact Edition в эмуляторе Windows Mobile 6 - PullRequest
0 голосов
/ 02 февраля 2010

Я занимаюсь разработкой приложения для Windows Mobile 6 с использованием эмулятора. Когда я пытаюсь открыть соединение базы данных с файлом SDF, возникает исключение, что он не может подключиться или найти файл. Мои вопросы:

  1. Где на мобильном устройстве должен быть развернут SDF-файл?
  2. SDF-файл автоматически развертывается в эмуляторе при сборке проекта (как в приложении Windows Forms) или мне нужно делать это вручную?

Любая помощь будет оценена.

Ответы [ 3 ]

2 голосов
/ 02 февраля 2010
  1. «Где» определяется вами.Вы хотите, чтобы он находился в эмуляторе, в его файловой системе, в том месте, на которое указывает строка подключения.Помните, что пути CE всегда полностью определены.
  2. Это зависит.Как SDF добавлен в ваш проект?Если сам файл SDF в проекте?Если да, то для какого параметра «Build Action» установлено (должно быть Content, если вы хотите, чтобы оно было развернуто)?Что означает «Копировать в выходной каталог»?Это должно быть «Всегда» или «Копировать, если новее», если вы хотите, чтобы он был автоматически развернут.Если вы используете этот механизм для развертывания, файл окажется в той же папке, что и ваш EXE-файл (или, если он есть в подпапке в проекте, он будет находиться в подпапке каталога развертывания).

Вы также можете развернуть файл вручную с помощью Remote File Viewer, настроив эмулятор для общего доступа к папке на рабочем столе или "закрепив" эмулятор с помощью диспетчера эмулятора и используя ActiveSync для копирования файла.

1 голос
/ 12 января 2012
string connection=@"Data Source=\Program Files\NameOfProgram\NameOfDataBase.sdf;Persist Security Info=false;";

т.е. Если имя вашей программы было HelloWorld, а имя вашей базы данных - Test.sdf, строка подключения будет:

string connection=@"Data Source=\Program Files\HelloWorld\Test.sdf;Persist Security Info=false;";

Надеюсь, это поможет!

0 голосов
/ 10 февраля 2010

// TODO: эта строка кода для указания имени пути, где может храниться информация каталога.

    string databaseconnection = ("Data Source=" + (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)) + "\\EBDataBase.sdf;Persist Security Info=False;");

Имя SDF .. = EBDataBase

Он автоматически получает строку подключения .....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...