Исключение при попытке подключения к базе данных .sdf - PullRequest
5 голосов
/ 10 мая 2011

У меня есть база данных в файле C:\Users\Pawel\Documents\DB.sdf. Как я могу подключиться к нему?

Простой код ниже не работает и генерирует исключение.

Код:

[WebMethod]
public String TestCon()
{
    SqlConnection sql = new System.Data.SqlClient.SqlConnection(
        @"Data Source=C:\Users\Pawel\Documents\DB.sdf");

    string str = "OK";

    try
    {
        sql.Open();
        sql.Close();
    }
    catch (Exception ex)
    {
        str = ex.Message;
    }

    return str;
}

Результат:
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)

Чего мне не хватает? Что мне нужно сделать, чтобы правильно открыть соединение?

EDIT:
System.NotSupportedException: SQL Server Compact is not intended for ASP.NET development.
Отлично: P

Ответы [ 2 ]

8 голосов
/ 10 мая 2011

Попробуйте использовать System.Data.SqlServerCe.SqlCeConnection:

System.Data.SqlServerCe.SqlCeConnection con = 
   new System.Data.SqlServerCe.SqlCeConnection(@"Data Source=C:\Users\Pawel\Documents\DB.sdf");

(при необходимости добавьте ссылку на System.Data.SqlServerCe)

Кроме того, чтобы использовать его с ASP.NET, добавьте:

AppDomain.CurrentDomain.SetData("SQLServerCompactEditionUnderWebHosting", true);
1 голос
/ 10 мая 2011

Видимо, вы используете SQL Compact Edition (файл sdf).Вы пытались использовать SqlCeConnection вместо SqlConnection?

В качестве бонуса: если вы больше не хотите связываться со строками подключения, попробуйте this .

DoДля этого необходимо добавить ссылку на System.Data.SqlServerCe сборку.

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