- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
Parser 类只有返回 ParseResult 的方法 Parse,看来我对 ParseResult< 无能为力/强>。我怎样才能得到我的 sql 语句的抽象语法树,或者只是可以从 sql 中解析元数据标记就可以了。
最佳答案
我做了一些研究,发现我可以使用反射生成使用SqlScript.WriteXml 的解析信息xml 文件。下面是示例代码,不知道有没有更好的方法。
var rst = Parser.Parse(File.ReadAllText(@"*.sql"));
var fieldInfo = rst.GetType().GetField("sqlScript", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetField);
var script = fieldInfo.GetValue(rst);
var writer = XmlWriter.Create("*.xml");
script.GetType().InvokeMember("WriteXml", BindingFlags.NonPublic| BindingFlags.Instance | BindingFlags.InvokeMethod
, null, script, new object[] { writer });
writer.Close();
关于c# - 如何使用 Microsoft.SqlServer.Management.SqlParser 中的类将 T-SQL 解析为 AST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34102835/
先看要解析的样例SQL语句: 复制代码 代码如下: select * from dual SELECT * frOm dual Select C1,c2 From tb select c1,c
当我在一台新机器上重建它时,我的 c# 安装程序项目出现了大量警告。这些警告类似于他们正在寻找 dll 的版本 11.0.0.0,其中只有版本 10.0.0.0 存在。我发现这是由于安装的 SQL S
背景 hi 大家好,我是三合,在过往的岁月中,我曾经想过要写以下这些工具 写一个通过拦截业务系统所有sql,然后根据这些sql自动分析表与表,字段与字段之间是如何关联的工具,即sql血缘分析
背景 作为面向数据库的应用程序的一部分,我们发现有必要构造参数化查询并将其传递到其他 EntityFramework 应用程序中,通常用于桥接多个客户端数据库。我们通过非常标准的语法来做到这一点: c
我正在使用作为 Microsoft.SqlServer.Management.SqlParser.Parser 命名空间一部分的解析器来解析 Sql 语句,但是在测试时它工作正常; VSTS 中的构建
Parser 类只有返回 ParseResult 的方法 Parse,看来我对 ParseResult。我怎样才能得到我的 sql 语句的抽象语法树,或者只是可以从 sql 中解析元数据标记就可以了。
我是一名优秀的程序员,十分优秀!