web-dev-qa-db-fra.com

Utilisation d'un fichier LocalDb MDF sur Azure

Je développe un site Web ASP.NET MVC que je souhaite héberger sur des sites Web Azure. Pendant le développement, j'ai utilisé un fichier MDF dans mon répertoire App_Data avec une chaîne de connexion ressemblant à ceci:

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=MyApp;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\MyApp.mdf;MultipleActiveResultSets=true" providerName="System.Data.SqlClient"  />

Pour l'essayer sur Azure, j'espérais pouvoir laisser cette chaîne de connexion telle quelle, et simplement FTP mon MyApp.mdf dans le dossier App_Data sur Azure, car tout est configuré avec les données d'exemple que je veux utiliser. Cependant, lorsque j'ai essayé d'accéder à mon site, j'ai rencontré l'erreur suivante:

Une erreur liée au réseau ou spécifique à l'instance s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur est introuvable ou inaccessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions à distance. (fournisseur: SQL Network Interfaces, erreur: 52 - Impossible de localiser une installation LocalDB. Vérifiez que SQL Server Express est correctement installé et que la fonctionnalité LocalDB est activée.)

Ma question est, est-il possible d'exécuter mon site Web Azure en se connectant à un fichier MDF dans mon dossier App_Data, ou suis-je obligé d'utiliser une base de données Azure SQL?

43
Mark Heath

Vous ne pouvez pas utiliser un fichier .mdf dans App_Data, mais vous n'êtes pas obligé de passer à SQL Azure - vous pouvez utiliser SQL Server Compact. Le déploiement de LocalDB vers Compact est facile si vous utilisez Code First Migrations; sinon, vous devrez migrer vers SQL Server Compact avant de déployer. Si vous décidez d'utiliser Compact, vous devrez vous assurer que le moteur de base de données est déployé, et vous pouvez trouver des instructions pour cela dans ce tutoriel:

http://www.asp.net/mvc/tutorials/deployment/deployment-to-a-hosting-provider/deployment-to-a-hosting-provider-deploying-sql-server-compact-databases- 2 sur 12

32
tdykstra

Vous devrez utiliser SQL Azure pour utiliser les fonctionnalités Sites Web/Service Cloud.

Si vous ne l'avez pas déjà fait, vous voudrez probablement jeter un œil aux transformations web.config avec web deploy pour faciliter l'expérience de publication.

http://msdn.Microsoft.com/en-us/library/dd465318 (v = vs.100) .aspx

http://www.hanselman.com/blog/TinyHappyFeatures3PublishingImprovementsChainedConfigTransformsAndDeployingASPNETAppsFromTheCommandLine.aspx

Vous pouvez importer vos données dans la base de données SQL Azure via les outils de gestion ou si vous utilisez SQL Server 2012, vous pouvez importer/exporter des données via le portail.

2
Bryan Wood