11
votes

Impossible de se connecter à partir de Classic ASP à SQL Server 2008 R2 à l'aide du client Native SQL (Windows 7 - IIS7)

Je suis capable de se connecter au serveur SQL 2008 R2 lorsque j'utilise Provider = SQLOLEDB code> dans ma chaîne de connexion. Mais quand je l'utilise Provider = SQLNCLI code> dans la chaîne de connexion, je suis incapable de se connecter.

Erreur ADODB.Connection '800a0e7a' p>

fournisseur ne peut pas être trouvé. Il ne peut pas être correctement installé. p>

/test.asp, ligne 7 p> Blockquote>

Le code écrit dans les test.asp code> est inférieur p>

<%
    Set cn = Server.CreateObject("ADODB.Connection")

    'Doesn't work
    cn.Open "Provider=SQLNCLI;Server=remoteServer\SQL2008R2;Database=DB;UID=MyUser;PWD=pa55word;"  

    'Works Perfectly
    'cn.Open "Provider=SQLOLEDB;Server=remoteServer\SQL2008R2;Database=DB;UID=MyUser;PWD=pa55word;" 

    cn.CommandTimeout = 900
    cn.Close
    Response.write("dfjslkfsl")
%>
  • Windows 7 li>
  • IIS 7 li>
  • Page ASP classique (.asp) li> ul> p>


5 commentaires

Cela peut vous aider connexionstrings.com/sql-server-2008


Peut sembler idiot mais avez-vous essayé fournisseur = sqlncli10 ?


@Shadow ça n'est pas stupide. Cela a résolu mon problème :). J'ai eu fournisseur = sqlncli dans mon code. Merci beaucoup. Vous pouvez le mettre comme réponse si vous voulez gagner 25 points de réputation de moi.


Bravo @ Iismail, fait ça. Heureux ça fonctionnait! :)


Je pensais que SQL 2008 était un client natif 10?


4 Réponses :


0
votes

Cela pourrait être lié au fait VPN. Peut-être que l'application agit comme un utilisateur différent qui n'a pas accès au VPN.

Essayez d'éteindre l'authentification anonyme dans IIS et / ou de rendre l'identité du pool d'applications Soyez le même utilisateur que vous utilisez pour vous connecter à la machine Windows 7 et voir si cela corrige le problème.


1 commentaires

+1 pour de beaux pointeurs. Laissez-moi les essayer ce soir quand je rentre à la maison. En ce moment, je suis dans le réseau de bureau lui-même et en utilisant d'autres systèmes sur lesquels cela fonctionne bien.



15
votes

Essayez de changer le fournisseur en SQLNCLI10 CODE>:

cn.Open "Provider=SQLNCLI10;Server=remoteServer\SQL2008R2;Database=DB;UID=MyUser;PWD=pa55word;"


2 commentaires

Cette réponse m'a sauvé une tonne de temps


J'ai utilisé cette question et répondez pour aider à comprendre le commutateur de SQLOLEDB à SQLNCLI10 dans un code Excel VBA. Maintenant, mon SQL "avec" instruction fonctionne.



4
votes

pour les utilisateurs ayant uniquement Visual Studio 2012 installé peut utiliser fournisseur = sqlncli11 code> comme sqlncli10 code> n'est pas disponible pour moi sur mon système installé frais.

cn.Open "Provider=SQLNCLI11;Server=remoteServer\SQL2008R2;Database=DB;UID=MyUser;PWD=pa55word;"


0 commentaires

-2
votes

fonctionne parfaitement bien: xxx


1 commentaires

Pourquoi copiez-vous la réponse acceptée (à plusieurs questions)?