sql >> Base de Datos >  >> RDS >> Sqlserver

No puedo hacer que sql server compact 3.5 / 4 funcione con ASP .NET MVC 2

SQL CE 3.5 no funciona con ASP.NET, debe usar 4.0 CTP.

Descargar desde aquí .

Instale el tiempo de ejecución.

Copie los siguientes contenidos del directorio (incluidas las carpetas x86 y amd64) en la carpeta bin de su aplicación ASP.NET:C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private

ACTUALIZACIÓN:use System.Data.SqlServerCe.dll de la carpeta Escritorio para evitar problemas de confianza media

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 

Agregue una referencia al archivo System.Data.SqlServerCe.dll que acaba de colocar en su carpeta /bin.

Coloque el archivo sdf de SQL Compact en su carpeta App_Data.

Agregar cadena de conexión:

<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()));
            }
        }
    }