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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top