【发布时间】:2015-01-12 22:51:21
【问题描述】:
我正在使用 SMO
我很难捕获结果(可能是语法错误消息或带有数据的结果集),就像我们在 SQL Server Management Studio 中获得的一样。我尝试了几个在互联网上找到的示例,但无法使其按我的意愿工作。
我尝试了以下两种语法
//I am trying catch errors here
int[] results = DBServer.ConnectionContext.ExecuteReader("select * from SomeNonExistingTable");
//I am trying to catch result sets as dataset here
//But I cannot implicitly convert to dataset here using C#
DataSet ds = databaseServer.ConnectionContext.ExecuteWithResults("Select * from mytable");
我试图从以下网站获得一些想法:
SMO ConnectionContext.StatementTimeout setting is ignored
Using SMO, still no go... ConnectionContext.ExecuteNonQuery(script) can't understand "GO"
【问题讨论】:
-
您遇到了什么错误?具体来说,第二个应该可以工作; ExecuteWithResults 返回一个 DataSet 对象。
-
如果我将 ds 声明为 var,并检查 ds 的值,那么我可以看到它正在返回数据集,但我无法将该结果转换为数据集或隐式转换。请参阅下面的代码 var ds = databaseServer.ConnectionContext.ExecuteWithResults("Select * from mytable");
标签: sql-server smo