J'ai un problème simple qui lit un fichier Excel (à l'aide de Interop) et remplit un fichier de base de données MSSQL avec certaines données extraites de celle-ci. Ça va jusqu'à présent jusqu'à présent. J'ai une table des magasins avec les champs suivants: P>
J'ai lu le fichier Excel, puis créer un objet de nouveaux magasins et définir le nom, la colonisation, les propriétés du comté et de l'adresse et je appelle boutique.Inservonsubmit () avec le nouvel objet Shops. P>
Après cela, je dois réinitialiser la base de données (au moins, la table), pour laquelle le moyen le plus simple que j'ai trouvé était d'appeler la méthode supprimétedatabase () puis appelez la créatureAbase () à nouveau. Le problème est que, après la première réinitialisation, lorsque j'essaie de remplir la table à nouveau, je reçois l'exception: la base de données a généré une clé déjà utilisée. P>
En outre, à partir de ce point, je ne peux pas utiliser ce fichier de base de données, car les bases de donnéesExists () renvoie false, mais lorsque j'appelle la méthode crééeAbase (), il jette une exception, que la base de données existe déjà (bien que la base de données existe déjà. Les fichiers de données n'existent pas). P>
Qu'est-ce que je fais mal? Merci beaucoup d'avance! P>
3 Réponses :
On dirait que vous êtes à l'aide du contexte de données au-delà de ce qui est sage. Essayez de disposer et de recréer le contexte de données après avoir supprimé la base de données. P>
Je soupçonne que le problème est que le gestionnaire d'identité suivit toujours des objets (détruire et recréer la base de données est un cas tel que je pense que nous pouvons pardonner pour ne pas se réinitialiser ici). P>
Merci beaucoup, je disposais du contexte de données après avoir supprimé la base de données, puis la réintégré et le recréé, de sorte que cela fonctionne maintenant. Merci beaucoup! Une autre chose: comment puis-je «libérer» les bases de données que j'ai créées jusqu'à présent? MSSQL ne me permettra pas de créer des bases de données avec ce nom ...
Merci. J'ai eu un problème similaire car j'ai laissé le serveur ASP.NET Development exécuté lors de la ré-déploiement de la base de données. Je dois m'empêcher d'arrêter le serveur de développement avant de redéployer.
J'ai rencontré cette erreur. J'ai eu une table en rondins, avec une identité. Je tronçais le journal, tandis que ma demande était en cours d'exécution. Ce qui s'est passé était que la DB commencerait à nouveau la colonne d'identité lorsque j'ai tronqué, cependant, le contexte de données que j'utilisais pour vous connecter a toujours eu des objets qu'il suivait avec la même clé. P>
J'ai rencontré cette erreur car j'utilisais une procédure stockée personnalisée pour l'insertion avec une table qui disposait d'une colonne d'identité, mais j'avais oublié de "définir @ID = Scope_Ididity" à la fin de mon SPROC. p>
Je n'utilisais pas réellement la valeur d'identité résultante afin que le problème ne soit apparu que lorsque j'ai inséré deux rangées ou plus. Bug délai. P>
Je semble rencontrer la même erreur, définissez-vous @ID comme paramètre de sortie de la SP?
J'utilisais probablement @ID comme paramètre de sortie. Désolé, je ne peux pas me rappeler à coup sûr, c'était il y a longtemps et ma mémoire n'est pas si forte :).