gpt4 book ai didi

c# - OleDB 连接仅在调试时有效

转载 作者:行者123 更新时间:2023-11-30 18:44:23 25 4
gpt4 key购买 nike

我有一个 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 事件监视器中找到任何额外信息。

如果有帮助,这里是异常(exception):

    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 秒仍然让我很恼火,但问题现在已经消失(到目前为止)。

感谢您的帮助。

关于c# - OleDB 连接仅在调试时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2928486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com