解析SQL Server数据库脚本

时间:2011-08-21 08:20:31

标签: c# .net sql sql-server parsing

我目前正在开发一个项目,负责根据模式生成数据库模型,我想知道 .Net 中是否有能够解析SQL Script文件的库允许我:

  1. 从脚本中获取数据库名称

  2. 获取表名称

  3. 获取每个表的列

  4. 以及您为生成模型而知道的任何内容

  5. 任何建议都会有所帮助。

2 个答案:

答案 0 :(得分:0)

除SMO外,没有任何此工作的库。最好是对sql系统模式进行查询。请参阅以下脚本作为示例:

SELECT 
    SPECIFIC_NAME as SpName, 
    PARAMETER_NAME as ParameterName, 
    DATA_TYPE as DbType, 
    CHARACTER_MAXIMUM_LENGTH as Size  
 FROM INFORMATION_SCHEMA.PARAMETERS 
 WHERE PARAMETER_MODE = 'IN' OR PARAMETER_MODE = 'INOUT'

此脚本获取存储过程参数。或

SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('dbo.yourTableName')

获取表列。 我建议你不要使用SMO。

答案 1 :(得分:0)