2012-10-29 4 views
0

J'essaie d'apprendre le C# et puis j'ai atteint ce barrage routier. Mon Visual Studio 2010 ne me laisse pas créer une base de données basée sur le service (le fichier .mdf). (Ajouter> Nouvel élément> Base de données de service)Impossible de créer une base de données basée sur le service dans Visual Studio 2010

Chaque fois que j'essaie d'ajouter un nouveau fichier .mdf, une erreur se produit.

A network-related or instance-specific error occurred while establishing a connection to the SQL server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

Je peux créer une base de données locale (Ajouter> Nouvel élément> Base de données locale) sans aucun problème, mais je ne peux pas créer .mdf

Je suis en cours d'exécution sur Windows 7 64bit OS et Visual Studio 2010 (Ultimate).

+0

Je ne suis pas vraiment sûr. Comment puis-je vérifier cela? – brian3415

Répondre

1

Une base de données basée sur le service doit se connecter à une instance SQL Server. Il n'est pas intégré à Visual Studio, c'est une application distincte qui doit être exécutée quelque part pour vous connecter. Ce message d'erreur vous indique essentiellement qu'il ne peut pas trouver l'instance SQL Server à laquelle vous essayez de vous connecter.

La base de données locale fonctionne correctement car elle conserve tout le contenu local de votre application et ne nécessite pas de serveur de base de données externe pour fonctionner.

1

Exigences de base pour l'utilisation de ces deux types de bases de données:

  • Base de données locale (.sdf): nécessite SQL Server Compact. Autrement dit, vous n'avez besoin que d'une DLL supplémentaire, mais pas de service système spécial. (Si vous connaissez SQLite: SQL Server Compact est conceptuellement la même chose, seulement plus puissant et fonctionnalités complète.)

  • Base de données sur les services (.mdf & .ldf journal/fichier journal): nécessite une instance en cours d'exécution de SQL Server ou SQL Server Express, tous deux des produits autonomes (as Tim Copenhaver points out in his answer). À des fins de développement, vous installerez généralement l'un de ces produits sur votre ordinateur de développement.

Cause probable de votre problème: Deviner du message d'erreur que vous avez publié, vous n'avez pas SQL Server, ni SQL Server Express, installé. Cependant, une instance de l'un de ces produits est nécessaire pour que vous puissiez y "attacher" votre base de données. Ceci est nécessaire dans l'ordre avant de pouvoir accéder à la base de données .mdf.

Pour voir si SQL Server est installé, vous pouvez, par exemple, ouvrir Panneau de configuration → Outils d'administration → Services et recherchez un service système nommé "SQL Server (.\SQLEXPRESS)" ou "SQL Server (YOURCOMPUTERNAME\MSSQLSERVER)" ou similaire. Le nom entre crochets est le nom de l'instance de base de données exécutée sur votre machine. SQLEXPRESS est le nom d'instance par défaut pour SQL Server Express, tandis que MSSQLSERVER est le nom d'instance par défaut pour la version complète de SQL Server.

Si vous n'avez pas installé SQL Server, vous pouvez télécharger par exemple. SQL Server 2012 Express ou SQL Server 2008 R2 Express with SP2 gratuitement de Microsoft.

+0

Comment puis-je vérifier si un SQL Server/SQL Server Express est installé? Je pensais qu'ils étaient livrés avec Visual Studio quand vous l'avez installé depuis que VS2010 a installé BEAUCOUP de choses et j'ai choisi de les installer tous. – brian3415

+0

Je pense que j'ai trouvé un match, ou pas? http://s8.postimage.org/l7685ipv9/Untitled.jpg impression a examiné l'image – brian3415

+0

@ brian3415: Vous semblez avoir SQL Server Express installé, mais le service principal n'est pas en cours d'exécution, et certains des autres les services sont désactivés. Essayez ** 1. ** activer les deux services désactivés * SQL Server Agent (...) * et * SQL Server Browser *, puis ** 2. ** démarrer le service * SQL Server *; et enfin ** 3. ** réessayez de créer et de joindre une base de données basée sur le service à partir de Visual Studio. (Au cas où on vous demande des détails de connexion: Vous voudrez l'attacher à l'instance locale appelée '. \ SQLEXPRESS' pendant le développement.) – stakx

0

Vous pouvez

  1. Aller à Invite de commandes à partir Démarrer-> Exécuter (tapez cmd -> appuyez sur Entrée)
  2. Vérifier SqlLocalDB par

    Sqllocaldb.exe i

    Vous verra le numéro de version comme (v11.0) sinon complétez l'installation .

  3. Créer le sqldb par

    sqllocaldb c nombase

    Vous verrez comme "exemple LocalDB "dbname" créé avec la version 11.0."

  4. Démarrez ensuite le Db

    de nombase de sqllocaldb

    Vous verrez comme "exemple LocalDB "dbname" a commencé"

  5. Voir la fiche Db créé

    sqllocaldb.exe i nombase

Maintenant essayez de créer une base de données basée sur le service dans C#.

Questions connexes