Где разместить мой файл.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 и как указано выше