2010-06-07 5 views
1

У меня есть следующий код для подключения к SQL Server Compact Edition 2008:SQL Compact 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() выполняется:

"A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)"

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

ответ

5

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

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

0

Является ли файл 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; 

Source

+0

Он дает абсолютный путь. Прочтите вопрос. Кроме того, вы должны бежать правильно, используя DbConnectionStringBuilder. – SLaks