2009-01-16 6 views
25

En travaillant sur une base de code commune, un développeur exécute SQL Server Express 2005 et les deux autres exécutent SQL Server 2005. Tout fonctionne correctement, mais les chaînes de connexion diffèrent. Pour maintenir la configuration commune et les scripts de construction, nous cherchons à masquer "localhost \ sqlexpress" à juste "localhost" comme les 2 autres développeurs.Pointez sur localhost sqlexpress en utilisant uniquement localhost

Est-ce que cela peut être fait? Ou, peut-être existe-t-il un meilleur moyen pour que tous les 3 s'exécutent sur la même chaîne de connexion ... La solution recherchée est que tous les 3 puissent fonctionner sur les mêmes versions de fichiers dans le référentiel de code.

Je ne pourrais pas être 100% clair: au fond, je veux ceci:

Data Source=localhost;Initial Catalog=Sample;Integrated Security=True 

pour se connecter exactement la même que celle-ci:

Data Source=localhost\sqlexpress;Initial Catalog=Sample;Integrated Security=True 

Si possible.

Répondre

52

Juste testé des choses sur et l'a fonctionné.

sql ne marche pas expressément activer tcp/ip par défaut et lorsqu'il est activé ne marche pas utiliser le port par défaut 1433.

pour faire cela vous arrive besoin d'ouvrir « Gestionnaire de configuration du serveur sql » puis sous protocoles permettent tcp/ip. après ce double clic sur "tcp/ip", sélectionnez l'onglet "Adresses IP" et faites défiler vers le bas puis videz les "Ports dynamiques TCP" et entrez 1433 sous Port TCP. Après tout ce qui redémarre le service de serveur SQL et il devrait fonctionner avec la chaîne de connexion normale.

+7

J'adore StackOverflow. Je vous remercie! – kamens

+1

Merci John - et merci aussi à votre méchant singe. Un problème supplémentaire que j'avais était que le service. "SQL Server Browser" n'était pas en cours d'exécution. Cela permet des connexions extérieures. – Kieran

+0

Juste ce que je cherchais - merci beaucoup! – Remotec

0

Vous pouvez nommer les instances SQL Server comme vous le souhaitez. Je suis sûr que vous pouvez le faire aussi dans SQL Express, donc nommez simplement l'instance, sur chaque machine, au même nom, alors vous pouvez simplement utiliser localhost \ <name>.

Ou encore mieux, ne pas coder en dur le nom de la base de données. Chargez-le depuis une machine ou un paramètre spécifique à l'utilisateur (registre, fichier de configuration, tout ce qui vous convient :)).

0

Ce sujet est mort et enterré, je suis sûr ... Mais Incase cela aide aussi quelqu'un:

« un développeur exécute SQL Server Express 2005 et les 2 autres sont en cours d'exécution SQL Server 2005 » Lors de leur installation, il est probable que l'instance ait été nommée MSSQLSERVER. Lorsque vous avez installé, il est probable que l'instance s'appelle SQLEXPRESS. MSSQLSERVER fonctionne comme localhost, SQLEXPRESS ne fonctionne pas. Vous pouvez contourner cela dans SQL Server Express en renommant SQLEXPRESS en MSSQLSERVER lors de l'installation, pour référence ultérieure.

La solution de John est évidemment plus propre.

Questions connexes