4

我试图打的电话是

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

但我的查询超时。有没有办法增加这个调用的超时时间?

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

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

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

4

2 回答 2

3

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

你有没有尝试过:

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

这有什么结果吗?

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

DataTable dt = connection.GetSchema("Columns", new string[] {null, "dbo", null);
于 2012-12-04T23:10:13.390 回答
3

不,无法更改 .getschema() 的超时时间。我想它是这样设计的,虽然我不知道为什么。它是 180 秒。

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

于 2012-12-04T23:18:06.663 回答