我目前正在负责根据其模式生成数据库模型的项目,我想知道是否有任何库在.Net这是能够解析SQL脚本文件和让我:解析SQL Server数据库的脚本
获取数据库的名字从脚本
获取表命名
获取每个表中的列
和任何你知道生成模型
任何意见将是有益的。
我目前正在负责根据其模式生成数据库模型的项目,我想知道是否有任何库在.Net这是能够解析SQL脚本文件和让我:解析SQL Server数据库的脚本
获取数据库的名字从脚本
获取表命名
获取每个表中的列
和任何你知道生成模型
任何意见将是有益的。
除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。
@Mitch:这是一个例子 –
你对SMO有什么反应?你能澄清**为什么**你不会使用SMO? –
我总是有新版本的问题。这是我的意见。 –
“我目前工作的一个项目,该项目负责基于其架构生成数据库模式”更多 - 恩,VS 2008和VS2010已经具备了这种能力:数据库项目。失败SMO ... –
我的应用程序是一个基于Web的应用程序,它将托管在非专用服务器上,因此它无法直接访问数据库。我希望每个用户都能够上传脚本文件并下载生成的模型。 – saber
你可以看看[Microsoft.Data.Schema.ScriptDom](http://blogs.msdn.com/b/gertd/archive/2008/08/21/getting-to-the-crown-jewels.aspx)解析TSQL脚本。 –