我正在尝试设置(以编程方式或非编程方式(指定数据集(A(中的命令超时,现在我有了我的MVC模型,我已经创建了几个数据集(A,B,C...N(对于不同的存储过程,我只需要延长一个数据集的时间(A... 再次-.-(,此外,我看到了相关的不同问题,但没有一个能解决我的问题。我在下面向您展示我的代码:
private static DAL.CopyCoinDataFromOracle.CoinDataTableAdapters.spCopyCoinDataTableAdapter cdOracle =
new DAL.CopyCoinDataFromOracle.CoinDataTableAdapters.spCopyCoinDataTableAdapter();
public static bool CopyInformationFromOracle()
{
bool? statusMethod = false;
cdOracle.CopyCoinDataFromOracle(ref statusMethod); //This is where I have the problem and the exception is thrown after 30 seconds are reached
return Convert.ToBoolean(statusMethod);
}
需要明确的是,"cdOracle"是我的表适配器,我的存储过程链接到"CopyCoinDataFromOracle"方法,该查询第一次需要60seg的执行,这就是为什么我想增加那个时间(默认为30 seg.(,信息从oracle的链接服务复制到SQL Server任何帮助将不胜感激。
提前谢谢。
我终于解决了我的问题,这要归功于 stackoverflow 中的这个相关问题,链接由 @regeit 提供,这是我的解决方案:
我按照帖子所说创建了这个类(但没有详细说明在哪里!(使用以下方法:
using System;
using System.Data.SqlClient;
using System.Reflection;
namespace DAL.CopyCoinDataFromOracle.CoinDataTableAdapters
{
partial class spCopyCoinDataTableAdapter : System.ComponentModel.Component
{
public spCopyCoinDataTableAdapter(int Timeout)
{
SetCommandTimeout(Timeout);
}
public void SetCommandTimeout(int Timeout)
{
foreach (var item in SelectCommand())
{
item.CommandTimeout = Timeout;
}
}
private System.Data.SqlClient.SqlConnection GetConnection()
{
return GetProperty("Connection") as
System.Data.SqlClient.SqlConnection;
}
private SqlCommand[] SelectCommand()
{
return GetProperty("CommandCollection") as SqlCommand[];
}
private Object GetProperty(String s)
{
return this.GetType().GetProperty(s, BindingFlags.NonPublic | BindingFlags.GetProperty | BindingFlags.Instance).GetValue(this, null);
}
}
}
"DAL"是我的类库,"CopyCoinDataFromOracle"是一个包含我的数据集的文件夹,"CoinDataTableAdapter"是命名空间的名称,现在我把这段代码放在我的表适配器的代码中,名为"CopyCoinData.xsd"(只需双重并擦除自动生成的代码来创建这个(。
最后如何使用它:
private static DAL.CopyCoinDataFromOracle.CoinDataTableAdapters.spCopyCoinDataTableAdapter cdOracle =
new DAL.CopyCoinDataFromOracle.CoinDataTableAdapters.spCopyCoinDataTableAdapter(80);
其中 80 表示将在对象的构造函数中设置的超时,请告诉我以获取更多问题。
希望对您有所帮助。