Где разместить мой файл.sdf при тестировании приложения через эмулятор

Я работаю над SmartApplication, здесь, когда я пытаюсь подключиться к моей базе данных SQL Server CE 2005, я получаю исключение

Путь недействителен. Проверьте каталог для базы данных. [Path = D: \ SmartProject \ DBFile.sdf]

Моя строка подключения

Источник данных =D:\SmartProject\DBFile.sdf; Пароль =test123

и код для подключения, как

 string connectionString = "Data Source=D:\\SmartProject\\DBFile.sdf;Password=test123";
    SqlCeConnection Connection = new SqlCeConnection(connectionString);
    SqlCeCommand comm = new SqlCeCommand(SqlSelectCommandText, Connection);
    SqlCeDataAdapter da = new SqlCeDataAdapter(comm);
    DataSet ds = new DataSet();
    try
    {
        Connection.Open();
        da.Fill(ds);
        if (ds.Tables.Count > 0)
            dataTable = ds.Tables[0];
        else
            dataTable = new DataTable();
        bsuccessfullyExecuted = true;
    }
    catch (SqlCeException ex)
    {
        bsuccessfullyExecuted = false;
        dataTable = null;
    }
    finally
    {
        Connection.Close();
    }

когда код пытается открыть соединение, он выдает это исключение, если файл находится в указанном месте или каталоге.

Это работает, когда я просто помещаю файл DBFile.sdf с файлом.exe в bin и удаляю путь, кроме имени файла базы данных из строки подключения.

но когда я пытаюсь получить доступ к нему через эмулятор, он показывает эту ошибку. при условии, что его соединяют через подставку и центр устройств Windows Mobile. Он показывает всю страницу, но когда я пытаюсь получить доступ к Db через исключение..

1 ответ

Решение

На самом деле мы должны поставить DBFile.sdf в папке мобильных устройств и теперь строка подключения будет

Data Source=\Temp\DBFile.sdf;Password=test123

этот Temp находится в папке "Мобильное устройство", так как наш дизайнерский сеанс подключен к базе данных SQL Mobile, которая находится на мобильном устройстве, подключенном через ActiveSync.

В результате строка подключения к базе данных, которая автоматически создается с помощью bindingsource, представляет собой специальную строку подключения, которая работает только из VS2005 и начинается с DataSource = Mobile Device.....

Так что для эмулятора мы должны поместить файл sdf в Mobile Devide и как указано выше

Другие вопросы по тегам