Frage

Ich habe eine C # Anwendung, die eine Verbindung zu einer benannten SQL Express-Instanz auf dem lokalen Rechner OleDbConnection mit:

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

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

Wenn ich die Anwendung debuggen, funktioniert die Verbindung in Ordnung. Wenn ich die Anwendung aus dem Windows Explorer (der gleichen Debug-Kompilierung) laufen lasse, erhalte ich eine " OleDbException: Anmeldung Timeout abgelaufen " in der Open () Linie nach 30 Sekunden. Das Merkwürdige ist, die Ausnahme geschieht, selbst wenn ich den Debugger an den exe befestigen. Ich kann sehen, dass die Verbindungszeichenfolge korrekt ist, und alles scheint in Ordnung. Ich kann keine zusätzliche Informationen in dem SQL Express-Fehlerprotokoll oder SQL Activity Monitor entweder fein.

Wenn es hilft, ist hier die Ausnahme:

    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()

Ich stelle ich vor, dass das Problem finden, mit den Informationen, die ich hier geben könnte schwierig sein, aber ich weiß nicht, wo sonst zu schauen oder was andere Tests zu tun, also irgendwelche Ideen, was es sein könnte oder etwas Test konnte ich tun um herauszufinden, versteht sich, wirklich.

War es hilfreich?

Lösung

ich es fest. Leider weiß ich nicht wirklich, wie: Ich habe den Ausgabeordner gelöscht, einige Projektreferenzen zurückgesetzt, mehrere Dinge auf SQL Express neu konfiguriert, neu gestartet, die Maschine usw. Irgendwann fing es wieder gut zu arbeiten. Es ärgert immer noch in der Lage, mir nicht zu entdecken, was OleDb für 31 Sekunden tat, als Anschluss, aber das Problem ist jetzt weg (bisher).

Danke für Ihre Hilfe.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top