Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Não é possível obter o sql server compact 3.5/4 para trabalhar com ASP .NET MVC 2


SQL CE 3.5 não funciona com ASP.NET, você deve usar 4.0 CTP.

Faça o download aqui .

Instale o tempo de execução.

Copie o seguinte conteúdo do diretório (incluindo as pastas x86 e amd64) para a pasta bin do seu aplicativo ASP.NET:C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private

ATUALIZAÇÃO:Use System.Data.SqlServerCe.dll da pasta Desktop para evitar problemas de confiança média
myapp\bin\ 
 System.Data.SqlServerCe.dll 

myapp\bin\x86 
 sqlceca40.dll 
 sqlcecompact40.dll 
 sqlceer40EN.dll 
 sqlceme40.dll 
 sqlceqp40.dll 
 sqlcese40.dll 

myapp\bin\amd64 
 sqlceca40.dll 
 sqlcecompact40.dll 
 sqlceer40EN.dll 
 sqlceme40.dll 
 sqlceqp40.dll 
 sqlcese40.dll 

Adicione uma referência ao arquivo System.Data.SqlServerCe.dll que você acabou de colocar na pasta /bin.

Coloque o arquivo sdf SQL Compact em sua pasta App_Data.

Adicionar cadeia de conexão:
<connectionStrings>
   <add name ="NorthWind"
   connectionString="data source=|DataDirectory|\Nw40.sdf" />
</connectionStrings>

Conectar! :-)
using System.Data.SqlServerCe;

    protected void Page_Load(object sender, EventArgs e)
    {
        using (SqlCeConnection conn = new SqlCeConnection())
        {
            conn.ConnectionString = ConfigurationManager.ConnectionStrings["Northwind"].ConnectionString;
            conn.Open();
            using (SqlCeCommand cmd = new SqlCeCommand("SELECT TOP (1) [Category Name] FROM Categories", conn))
            {
                string valueFromDb = (string)cmd.ExecuteScalar();
                Response.Write(string.Format("{0} Time {1}", valueFromDb, DateTime.Now.ToLongTimeString()));
            }
        }
    }