2

我刚刚了解到,如果没有在应用程序服务器上安装 SQL 或完整的 SMO,我将无法在 ASP.NET 中使用 SMO。我不允许这样做,所以我不能使用 SMO。

还有哪些其他库与 SMO 做同样的事情,但不需要 MSI 安装程序或 COM 注册?

我知道我可以在 ADO.NET 命令中将 DDL 发送到服务器,但这正是我试图通过使用 SMO 来避免的。

SMO有什么好处:

用于查询元数据(列、数据类型)的面向对象的 API,不依赖于不一致的 COBOL-like DDL。

不需要查询未记录的存储过程、系统存储过程或每隔几个版本就中断的表。

在我的脑海中,我可以想到 ADOX 和 DMO,但它们都是基于 COM 的 API。

4

1 回答 1

1

SMO 在幕后运行 T-SQL。您可以在 SMO 中进行原型制作,然后在分析器中观察以获取 T-SQL。

这可能违反了 EULA,但您可以将 SMO 程序集与您的应用程序并排重新分发,在这种情况下无需安装任何东西。我认为他们的安装程序不会访问注册表。很容易打开 SQLServerManagementObjects.msi 并找出答案。

于 2009-09-05T03:40:59.400 回答