c# - 可以使用 C# 以编程方式反编译存储过程

标签 c# sql sql-server

<分区>

当我们大多数人想要查看 SQL Server 存储过程的定义时,我们会启动 SSMS,找到对象,右键单击并选择修改或其他脚本选项之一。这工作正常,手动。

有些人也有幸获得了 Redgate 产品的许可,这些产品可以让您搜索、比较和分析已编译的数据库对象。

但假设我想编写桌面实用程序来分析存储过程或在 SQL Server 实例上编译的其他对象。主流中似乎很少有专为适应这种软件设计而设计的。

所以我的问题是:是否有可能使用 C# 和现成的 NuGet 包连接到 SQL 数据库并返回将使用 SSMS 呈现到查询窗口中的相同 DDL 脚本?

我知道已经有很多实用程序可以涵盖几乎所有我想要的东西,但这是一个编程问题,而不是产品推荐请求。

最佳答案

您可以通过 sys.sql_modules 查看代码

示例

SELECT [schema_name] = OBJECT_SCHEMA_NAME([object_id]) 
      ,[object_name] = OBJECT_NAME([object_id]) 
      ,*
 FROM  sys.sql_modules
--WHERE  OBJECT_SCHEMA_NAME([object_id]) = 'dbo'
--  AND OBJECT_NAME([object_id]) = '<<some store procedure or UDF>>'

关于c# - 可以使用 C# 以编程方式反编译存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56065168/

相关文章:

c# - C#中的MYSQL如何添加到我的使用中

c# - Crystal 报表 - 数据库连接冲突

sql - sql查询有问题。我应该使用联合吗?

mysql - 计算层次结构中每个节点的所有子节点和子节点

sql server 删除重复的首字母缩略词

c# - .Net Core WebAPI 连接重置,当我的 Controller 中有 "include"时

c# - 如何获取 CookieRequestCultureProvider 中使用的 CookieName?

sql - mysql语句无法更新添加4年

sql-server - SQL 存储过程在 SQL Server Management Studio 中运行良好,但在 Reporting Services (SSRS) 中运行不佳

java - Tomcat 不加载库