我正在构建一个允许用户输入SQL查询字符串的应用程序。这些查询字符串将包含0个或更多参数以及1个或多个返回列。是否有一种标准方法来解析SQL查询以提取这些元素?理想情况下,这可以不运行查询,甚至连接到SQL Server实例。
查询字符串可能如下所示:
SELECT
Posts.ID,
Posts.Description
FROM Posts
WHERE Posts.Date > @StartDate
由此,我想提取一系列列名(“Posts.ID”,“Posts.Description”)和一组参数(“StartDate”)。
这似乎不是一件特别奇怪的事情。事实上,微软在他们的报告产品中做到了这一点(我在BIDS中看到过)。
我可以使用图书馆吗?否则,推荐的方法是什么?
答案 0 :(得分:0)
我不知道如何在不连接SQL Server的情况下获取此信息,但是对于SQL Server 2012以后,有一些新的系统存储过程可能有所帮助;
在SQL Server 2012之前,您可以使用SET FMTONLY ON执行查询以获取结果集架构,但您需要知道这些参数。
希望这有帮助,
里斯