2010-04-26 6 views
1

Dans un programme VB6:Impossible de se connecter à la base de données SQL uniquement à partir asp

Dim conn As Object 
Set conn = CreateObject("ADODB.Connection") 
conn.Open "DRIVER={SQL Server}; Server=(local)\aaa; Database=bbb; UID=ccc; PWD=ddd" 

Dans un programme ASP:

Sub ProcessSqlServer(conn) 
    Set conn = Server.CreateObject("ADODB.Connection") 
    conn.Open "DRIVER={SQL Server}; Server=(local)\aaa; Database=bbb; UID=ccc; PWD=ddd" 

Le programme fonctionne VB6, le programme ASP n'a pas (voir erreur ci-dessous). J'ai essayé de vérifier les erreurs dans le journal des événements, mais je n'ai rien trouvé. Ou plus précisément, j'ai trouvé une erreur d'autorisation d'activation locale, mais cela a été corrigé une fois que j'ai ajouté l'autorisation de lancement/activation locale pour le service réseau au gestionnaire de débogage machine via l'outil de services de composants.

Erreur:

Microsoft OLE DB Provider for ODBC Drivers error '80004005' 
[Microsoft][ODBC SQL Server Driver]Timeout expired 

Répondre

0

Le problème était que NETWORK SERVICE nécessaire beaucoup d'autorisations sur C:\Users\USERNAME\AppData\Local\Temp.

+0

Remarque: Cela corrige certaines choses, mais n'est pas le seul nom d'utilisateur impliqué. – Brian

+0

D'autres répertoires temporaires comme 'c: \ windows \ temp' peuvent aussi être impliqués. Il varie selon qu'il s'exécute en mode débogage, entre autres choses. – Brian

Questions connexes