Pregunta

Tengo una aplicación de C # que se conecta a una instancia con nombre de SQL Express en el equipo local utilizando 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 puedo depurar la aplicación, la conexión funciona bien. Si me quedo la aplicación desde el Explorador de Windows (la misma compilación de depuración), consigo un " OleDbException: Iniciar sesión de espera ha caducado " en la línea abierta () después de 30 segundos. Lo extraño es la excepción ocurre incluso si hay que adjuntar el depurador para el exe. Puedo ver que la cadena de conexión es correcta y todo parece estar bien. No puedo multar a cualquier información adicional en el registro de errores de SQL Express o SQL Monitor de Actividad tampoco.

Si ayuda, aquí es la excepción:

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

Me imagine que encontrar el problema con la información que doy aquí podría ser difícil, pero no sé dónde más buscar o qué otras pruebas para hacer, por lo que cualquier idea sobre lo que podría ser o lo que la prueba i podía hacer para averiguar será muy apreciada.

¿Fue útil?

Solución

Me lo arregló. Por desgracia, no se sabe muy bien cómo: He eliminado la carpeta de salida, reprogramar algunas referencias del proyecto, reconfigurado varias cosas en SQL Express, renovadas la máquina, etc. En algún momento, empezó bien a trabajar de nuevo. Todavía me molesta no ser capaz de descubrir lo que estaba haciendo OleDb durante 31 segundos cuando se conecta, pero el problema se ha ido ahora (hasta ahora).

Gracias por su ayuda.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top