Question

J'ai une application C # qui se connecte à une instance nommée SQL Express sur la machine locale en utilisant OleDbConnection:

_connection = new OleDbConnection(_strConn);
_connection.Open();

_strConn is something like this: "Provider=sqloledb;Data Source=.\NAMEDINSTANCE;Initial Catalog=dbname;User Id=sa;Password=password;"

Si je déboguer l'application, la connexion fonctionne très bien. Si je lance l'application à partir de Windows Explorer (la même compilation de débogage), je reçois un « OleDbException: Délai de connexion expiré » dans la ligne ouverte () au bout de 30 secondes. La chose étrange est l'exception se produit même si j'attacher le débogueur à l'exe. Je peux voir que la chaîne de connexion est correcte et tout semble bien. Je ne peux pas bien toute information supplémentaire dans le journal des erreurs SQL Express ou Activity Monitor SQL soit.

Si elle aide, voici l'exception:

    System.Data.OleDb.OleDbException: Login timeout expired
   at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
   at System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
   at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
   at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   at System.Data.OleDb.OleDbConnection.Open()

J'imagine que trouver la question avec les informations que je donne ici pourrait être difficile, mais je ne sais pas où regarder ou ce que d'autres tests pour faire, donc des idées sur ce qu'il pourrait être ou quel critère que je pouvais faire pour savoir sera vraiment apprécié.

Était-ce utile?

La solution

Je l'ai fixé. Malheureusement, je ne sais pas vraiment comment: J'ai supprimé le dossier de sortie, réinitialiser quelques références du projet, reconfiguré plusieurs choses sur SQL Express, remis en marche la machine, etc. À un certain moment, il a commencé à travailler bien à nouveau. Ça me dérange toujours pas être en mesure de découvrir ce que OleDb faisait pendant 31 secondes lors de la connexion, mais le problème est maintenant disparu (jusqu'à présent).

Merci pour votre aide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top