DbProviderFactory设置ConnectionTimeout

时间:2013-09-13 12:06:12

标签: c# sql-server ado.net oracle11g dbproviderfactories

当我们使用System.data.Common.DbProviderFactory时,是否有可能更改连接超时?

3 个答案:

答案 0 :(得分:1)

是的,检查你的connectionString以查看访问数据库是否一切正常。

DBProviderFactory实例只返回System.Data.Common的abstration。真实类型来自您的ado.net提供商(SqlClientOracleClient等)。

当您执行以下操作时:

IDbConnection connection = dbFactory.CreateConnection();
connection.Open();

connection对象是一种移植,但dbFactory.CreateConnection()将返回具体类型的OracleConnectionSqlConnection作为您的提供者。

答案 1 :(得分:1)

对于那些真正想要更改连接超时而不是命令超时的人,就像 Google 将我带到此页面时一样,您可以通过向连接字符串添加 Connection Timeout 属性来实现:

"DATA SOURCE=localhost:1521/mydatabase;USER ID=MY_USERNAME;PASSWORD=mypassword;Connection Timeout=60"

答案 2 :(得分:0)

您可能正在尝试设置命令时间。连接超时是指计算机在放弃并决定数据库服务器关闭之前查找服务器的时间。

命令超时是指您希望查询在等待查询完成之前运行的时间长度。

参考:http://msdn.microsoft.com/en-us/library/system.data.common.dbcommand.commandtimeout(v=vs.110).aspx