collegamento OleDB lavorare solo durante il debug
-
05-10-2019 - |
Domanda
Ho un'applicazione C # che si connette a un'istanza di SQL Express denominata sulla macchina locale usando 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;"
Se il debug l'applicazione, la connessione funziona bene. Se eseguo l'applicazione da Windows Explorer (la stessa compilation debug), ottengo un " OleDbException: Accesso timeout scaduto " nella linea Open () dopo 30 secondi. La cosa strana è l'eccezione accade anche se io attribuisco il debugger al exe. Vedo che la stringa di connessione è corretta e tutto sembra a posto. Non posso multare nessuna informazione aggiuntiva nel log degli errori SQL Express o SQL Activity Monitor sia.
Se aiuta, qui è l'eccezione:
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()
immagino che trovano il problema con le informazioni dò qui potrebbe essere difficile, ma non so dove altro guardare o cosa altri test per fare, così tutte le idee su ciò che potrebbe essere o quello che prova ho potuto fare per scoprire sarà molto apprezzato.
Soluzione
I riparato. Purtroppo non so davvero come: ho cancellato la cartella di output, reimpostare alcuni riferimenti del progetto, riconfigurato diverse cose su SQL Express, rinnovate la macchina, ecc Ad un certo punto, ha cominciato a lavorare di nuovo bene. Si infastidisce ancora mi non essere in grado di scoprire ciò che stava facendo OleDb per 31 secondi durante la connessione, ma il problema è andato ora (finora).
Grazie per il vostro aiuto.