Sql server MSBuild从数据库返回值

Sql server MSBuild从数据库返回值,sql-server,msbuild,automation,build-automation,Sql Server,Msbuild,Automation,Build Automation,有人知道如何将(sql)数据库中的值返回到MSBuild脚本中吗?我希望将该值放入属性中,以便将其传递给后续生成任务 目前我正在处理以下内容,但返回-1表示查询已成功执行,而我想要的是查询的实际结果。(SqlExecute来自社区任务) 您是否尝试过“从dbo.trade中选择*”? 根据msbuild communitytasks文档,结果返回给定语句的行数,而您的语句可能返回包含计数的单行。尝试了“从dbo.trade中选择*”,仍然给出相同的-1 社区任务文档中说输出“输出返回计数/值”

有人知道如何将(sql)数据库中的值返回到MSBuild脚本中吗?我希望将该值放入属性中,以便将其传递给后续生成任务

目前我正在处理以下内容,但返回-1表示查询已成功执行,而我想要的是查询的实际结果。(SqlExecute来自社区任务)


您是否尝试过“从dbo.trade中选择*”? 根据msbuild communitytasks文档,结果返回给定语句的行数,而您的语句可能返回包含计数的单行。

尝试了“从dbo.trade中选择*”,仍然给出相同的-1


社区任务文档中说输出“输出返回计数/值”,但它没有进一步说明如何使用它。

通常最简单的方法是在Reflector中打开社区任务或直接检查代码库以查看它的使用方法

罗布

好主意。在reflector中打开社区任务表明SqlExecute任务永远不会返回查询值

this._result = command.ExecuteNonQuery();
这让我重新尝试让它与oSql和Exec任务一起工作

    <Exec Command="osql -n -S $(DatabaseMachineName) -E -q &quot;select count(*) from trade&quot; -b -d $(DatabaseName)">
        <Output PropertyName="TradeCount" TaskParameter="Outputs"/>
    </Exec>

    <Message Text="Result:$(TradeCount)" />


是的,这方面的例子真的很难找到。谢谢Rob,你引导我找到了我的答案-扩展MSBuildCommunity任务。我已经扩展了SQLExecute任务以返回标量值,并打算在某个时候将其更新到社区代码库中。已经有一些代码在那里做这件事,但它是不完整的。
    <Exec Command="osql -n -S $(DatabaseMachineName) -E -q &quot;select count(*) from trade&quot; -b -d $(DatabaseName)">
        <Output PropertyName="TradeCount" TaskParameter="Outputs"/>
    </Exec>

    <Message Text="Result:$(TradeCount)" />