有没有办法在SqlConnection GetSchema()查询上扩展超时?

时间:2012-12-04 22:48:21

标签: c# sql sql-server schema

我正在尝试的电话是

DataTable dt = connection.GetSchema("Columns");

但是我的查询超时了。有没有办法增加这次通话的超时?

与数据库本身的连接打开得很好,因此连接超时对我没有任何帮助。

我也看到SqlCommand有一个CommandTimeout属性,但我不知道这是否真的适用于此。

那么有没有办法可以延长GetSchema来电的超时时间?任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:3)

我猜你当前的用户可能没有此命令所需的权限。

你试过了吗?

DataTable dt = connection.GetSchema("Columns", new string[] {null, null, "MyTable");

这有什么结果吗?

此外,您应该尝试使用用户说明来避免所有sys表。它可能会使查询变小。

DataTable dt = connection.GetSchema("Columns", new string[] {null, "dbo", null);

答案 1 :(得分:3)

不,没有办法改变.getschema()的超时。我认为它是这样设计的,虽然我不知道为什么。这是180秒。

但是,您可以使用sqlcommand查询模式表以获取相同的信息,您可以使用超时。