2009-09-08 3 views
1

J'ai deux sites Web ASP.NET sur un serveur Web et deux bases de données SQL Server.Erreur: 40 - Impossible d'ouvrir une connexion à SQL Server - uniquement sur le site Web de stockage intermédiaire

J'ai un dossier pour le site Web n ° 1, qui contient un web.config avec une chaîne de connexion pointant vers la base de données n ° 1.

Sous le dossier du site Web n ° 1 se trouve un dossier intermédiaire appelé «mise en attente», contenant le site Web n ° 2, et le fichier web.config comporte une chaîne de connexion qui pointe vers la base de données n ° 2.

Le site Web n ° 1 fonctionne parfaitement.

Mais quand je tente d'exécuter Site Web 2, je toujours obtenir l'erreur suivante:

A network-related or instance-specific error occurred while establishing a connection to 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: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

J'ai vérifié que la chaîne de connexion est correcte et qu'il pointe vers la base de données # 2. Mais même lorsque j'échange la chaîne de connexion du site Web n ° 1, qui fonctionne parfaitement sur le site Web n ° 1, elle échoue toujours.

Voici ce que la chaîne de connexion ressemble à:

<connectionStrings> 
    <add name="WebsiteConnectionString" connectionString="Data Source=localhost;Initial Catalog=WebsiteStaging;User Instance = false;User Id=xxxx;Password=yyyy" providerName="System.Data.SqlClient" /> 
</connectionStrings> 

Y at-il quelque chose d'inhabituel ici que je ne suis pas au courant?

Répondre

0

Vraiment désolé ... on dirait que ça n'a rien à voir avec la connexion. C'est parce que la couche de données Linq-to-SQL (qui était dans un autre projet) référençait sa propre chaîne de connexion (même si, partout où j'ai instancié un DataContext dans le projet Website, j'ai toujours utilisé le web.config chaîne de connexion en tant que paramètre).

Mais merci pour vos réponses, ce serait probablement de bonnes choses à vérifier, si ce qui précède n'a pas été le problème.

+0

bien, les bonnes nouvelles sont: vous avez trouvé le problème et sa solution –

0

Vous ne savez pas quelle version d'IIS vous utilisez, mais vous devrez peut-être créer deux applications Web distinctes: l'une pointant vers le dossier Site Web # 1 et l'autre site Web # 2.

Lorsque vous affichez les propriétés du site Web/répertoire virtuel, le nom de l'application doit être défini pour les deux répertoires. Est-ce le cas?

0

LOCALHOST est pour IIS

(LOCAL) est pour SQL Server

Mes chaînes de connexion disent généralement "Server=(LOCAL);Integrated Security=SSPI...."

Je vérifierais l'onglet de sécurité pour connaître l'identité que les deux sites Web sont en cours d'exécution sous.

Questions connexes