Проблема строки подключения SQL Compact 2008 - PullRequest
1 голос
/ 07 июня 2010

У меня есть следующий код для подключения к серверу SQL Server Compact Edition 2008:

    private SqlConnection sqlConn;

    public void createConnection()
    {
        String connectionString = @"Data Source=C:\Projects\somefile.sdf;Persist Security Info=False";
        sqlConn = new SqlConnection(connectionString);
        sqlConn.Open();
    }

Тем не менее, я получаю следующую ошибку при выполнении sqlConn.Open():

"Сетевой или ошибка конкретного экземпляра произошла во время установление соединения с SQL Сервер. Сервер не найден или был недоступен. Убедитесь, что имя экземпляра правильное и что SQL Сервер настроен для разрешения удаленного соединения. (поставщик: сеть SQL Интерфейсы, ошибка: 26 - Ошибка определения местоположения Указан сервер / экземпляр) "

У кого-нибудь есть идеи, в чем может быть проблема? Я могу создать соединение с БД в проводнике баз данных, но, похоже, он не работает в коде.

Ответы [ 2 ]

5 голосов
/ 07 июня 2010

Классы Sql* в System.Data.SqlClient могут использоваться только для подключения к обычному экземпляру SQL Server.

Для подключения к базе данных SQL CE необходимо создать SqlCeConnection объект в System.Data.SqlServerCe.dll.

0 голосов
/ 07 июня 2010

Файл sdf находится в том же каталоге, что и приложение-исполнитель?

Как указать местоположение файла SDF Часто база данных .SDF не работает в текущем каталоге, поэтому возникает необходимость программно установить путь к файлу SDF. Это пример (.net C #) того, как это сделать, если файл SDF находится в том же каталоге, что и исполняемое приложение.

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

Источник

...