Impossible de se connecter à une base locale
Par amethyste le Jun 10, 2007 | Dans focus | Réagir »
Le scénario est le suivant:
* Vouc créez une application Web
* Vous ajoutez une base locale. L'assistant vous propose de l'ajouter dans le répertoire App_Data, vous acceptez
* Vous créez un DataAdapter, le testez, celui ci fonctionne
* Vous ajoutez dans un formulaire un GridView, vous le liez à un ObjectDataSource
* Vous lancez l'application
Le message d'erreur suivant s'affiche:
An attempt to attach an auto-named database for file C:\Documents and Settings\Amethyste\Mes documents\Visual Studio 2005\Projects\WebApplication3\WebApplication3\App_Data\App_Data\DemoBase.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.
Le problème est très fréquent dans les blogs et comme souvent les solutions proposées ne fonctionnent pas, sauf celle fournie par ShrinanD Vyas et qui est parfaitement logique en plus. En fait elle contient une petite imprécision, mais vous allez voir, cela se corrige facilement:
Il suffit d'éditer la chaine de connexion, par exemple dans les propriétés du dataAdapter.
Etape 1
Vérifier que AttachDbFilename commence par |DataDirectory|. C'est le mot clef pour le répertoire App_Data
Etape 2
Si App_Data est présent dans la chaîne de connexion, supprimez le. Dans mon cas j'avais:
Data Source=.\SQLEXPRESS;AttachDbFilename= |DataDirectory|\App_Data\DemoBase.mdf;Integrated Security=True;User Instance=True
Au lieu de:
Data Source=.\SQLEXPRESS;AttachDbFilename= |DataDirectory|\DemoBase.mdf;Integrated Security=True;User Instance=True
J'ai testé différentes combinaisons avec App_Data, mais pas |DataDirectory|, cela ne fonctionne pas.
Etape 3
Vérifiez que l'on a déclaré User Instance=True
Voilà, j'espère que ce truc vous fera gagner du temps.
Tant que j'y suis, j'ai enfin compris pourquoi chez moi lorsque je posais un ObjectDataSource sur un formulaire web il n'apparaissait pas.
Il suffit d'aller dans le menu View et activer Non Visual Control.
Bibliographie:
La question avec la réponse:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=110252&SiteID=1
Aucun commentaire pour le moment
Laisser un commentaire
| « Les problèmes de timeout en ASP | Fonctions intégrées et combo » |