Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Impossible d'obtenir sql server compact 3.5/4 pour fonctionner avec ASP .NET MVC 2

SQL CE 3.5 ne fonctionne pas avec ASP.NET, vous devez utiliser 4.0 CTP.

Téléchargez depuis ici .

Installez le runtime.

Copiez le contenu du répertoire suivant (y compris les dossiers x86 et amd64) dans le dossier bin de votre application ASP.NET :C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private

MISE À JOUR :Utilisez System.Data.SqlServerCe.dll à partir du dossier Bureau pour éviter les problèmes de confiance moyenne

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 

Ajoutez une référence au fichier System.Data.SqlServerCe.dll que vous venez de placer dans votre dossier /bin.

Placez le fichier sdf SQL Compact dans votre dossier App_Data.

Ajouter une chaîne de connexion :

<connectionStrings>
   <add name ="NorthWind"
   connectionString="data source=|DataDirectory|\Nw40.sdf" />
</connectionStrings>

Relier! :-)

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