49 votes

Connexion à SQL Server avec Visual Studio Express Editions

Je trouve bizarre que dans Visual C# 2008 Express edition, lorsque vous utilisez l'explorateur de base de données, vos options sont les suivantes:

  1. Microsoft Access
  2. SQL Server Compact 3.5, et
  3. SQL Server Base de données de Fichier.

MAIS si vous utilisez Visual Web Developer 2008 Express, vous pouvez vous connecter à un standard SQL Server, Oracle, ODBC, etc.

Pour les personnes qui développent une ligne de commande ou autres C# applications qui ont besoin de parler à une base de données SQL Server, avez-vous vraiment besoin pour construire votre LINQ/code d'Accès aux Données avec un IDE (Visual Web Developer) et votre programme dans un autre (Visual C#)?

Il n'est pas difficile de solution de contournement, mais il semble bizarre. Si Microsoft a voulu forcer la mise à jour de Visual Studio pour vous connecter à SQL Server, pourquoi auraient-ils inclure cette fonctionnalité dans l'un de leurs gratuit IDEs mais pas l'autre? Je me sens comme je l'ai peut-être raté quelque chose (comme la façon de le faire dans Visual C#).

21voto

Sergey Shandar Points 1123

Solution de contournement:

  1. Ouvrez votre solution dans Visual Web Developer Express. Il ne prendra pas en charge certains projets dans la solution mais c'est ok.
  2. Créer une nouvelle connexion dans l'Explorateur de Base de données à la base de données à partir de SQL Server.
  3. Ajouter un nouveau projet de bibliothèque de classes.
  4. Ajouter un Classes LINQ to SQL article et un lien vers votre base de données.
  5. Proche de la solution.
  6. L'ouverture de la solution dans Visual C# Express.

Maintenant, vous avez une classes LINQ to SQL bibliothèque qui est lié à votre base de données SQL Server dans Visual C# Express.

Mise à jour

La solution est pour Visual Studio Express 2010.

21voto

Joel Coehoorn Points 190579

Vous devriez être en mesure de choisir la Base de données SQL Server fichier option pour obtenir le bon type de base de données ( system.data.SqlClient fournisseur), puis de corriger manuellement la chaîne de connexion pour pointer vers votre base de données.

Je pense que le raisonnement derrière ces db choix va sans doute quelque chose comme ceci:

  • Si vous utilisez l'Édition Express, et vous n'êtes pas à l'aide de Visual Web Developer, vous êtes probablement à la construction d'un programme de bureau.
  • Si vous êtes à la construction d'un programme de bureau, et que vous utilisez la version express edition, vous êtes probablement un amateur ou uISV-er de travail à la maison plutôt que de faire du développement pour une société.
  • Si vous n'êtes pas le développement pour une société, votre application est probablement destiné à l'utilisateur final et votre magasin de données est probablement sur leur ordinateur local.
  • Vous ne devriez vraiment pas être le déploiement de serveur de bases de données de l'utilisateur final à des postes de travail. Un dans-processus de db comme Sql Server Compact ou MS Access est beaucoup plus approprié.

Cependant, cette logique n'est pas tout à fait tenir. Même si chacun de ces 4 points est vrai, 90% du temps, le temps que vous appliquez tous les quatre d'entre eux, il ne s'applique qu'à ~65% de votre audience, ce qui signifie que jusqu'à 35% de l'express sur le marché pourrait légitimement vouloir parler à un serveur de db, et c'est un groupe important. Et donc, la procédure simplifiée (gourmand) version:

  • Un vrai serveur de base de données (et le matériel pour l'exécuter) les coûts de l'argent réel. Si vous avez accès à cela, vous devriez être en mesure de se permettre au moins l'édition standard de visual studio.

2voto

Mitchel Sellers Points 38352

À mon avis, avec VWD, vos solutions sont plus susceptibles d'être déployées sur des serveurs tiers, dont la plupart ne permettent pas la connexion dynamique d'un fichier de base de données SQL Server. Ainsi, l'autorisation de l'autre type de connexion.

Cette différence de comportement de l'EDI est l'une des principales raisons de la mise à niveau vers une version complète.

2voto

Z.K. Points 21

Le seul moyen de faire fonctionner C # Express 2008 a été de déplacer le fichier de base de données. J'ai donc ouvert SQL Server Management Studio et, après avoir déposé la base de données, j'ai copié le fichier dans mon dossier de projet. Ensuite, j'ai rattaché la base de données au studio de gestion. Maintenant, lorsque j'essaie de joindre à la copie locale, cela fonctionne. Apparemment, vous ne pouvez pas utiliser le même fichier de base de données plus d'une fois.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X