簡體   English   中英

OleDB連接僅在調試時有效

[英]OleDB connection only working when debugging

我有一個C#應用程序,使用OleDBConnection連接到本地計算機上的命名SQL Express實例:

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

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

如果我調試應用程序,連接工作正常。 如果我從Windows資源管理器運行應用程序(相同的調試編譯),30秒后我在Open()行中收到“ OleDBException:Login timeout expired ”。 奇怪的是,即使我將調試器附加到exe,也會發生異常。 我可以看到連接字符串是正確的,一切似乎都很好。 我不能在SQL Express錯誤日志或SQL活動監視器中使用任何額外信息。

如果它有幫助,這是例外:

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

我想,找到我在這里提供的信息的問題可能很難,但我不知道在哪里可以查看或者其他測試要做什么,所以任何關於它可能是什么的想法或者我可以做什么測試來找出將非常感激。

我修好了它。 不幸的是我真的不知道如何:我刪除了輸出文件夾,重置了一些項目引用,在SQL Express上重新配置了幾個東西,重新啟動了機器等等。在某些時候,它再次開始正常工作。 在連接時,我仍然無法發現OleDb在31秒內做了什么,但問題現在已經消失(到目前為止)。

謝謝你的幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM