【问题标题】:Not able to create SQL server SMO automation object in Javascript无法在 Javascript 中创建 SQL Server SMO 自动化对象
【发布时间】:2016-02-11 01:16:06
【问题描述】:

由于SQL DMO 现在已弃用,我需要修改javascript 文件中的以下行,以使用ActiveXObject 在Javascript 中创建SQL SMO 自动化对象:

var sql;
sql = new ActiveXObject("SQLDMO.SQLServer");

上面的sn-p正在抛出Automation server can't create object

运行此程序的客户端系统具有 SQL Server 2014。我尝试了以下但得到了相同的错误:

var sql;
sql = new ActiveXObject("Microsoft.SqlServer.Management.Smo.Server");

我还检查了我的系统是否在 PowerShell 中安装了SQL SMO

[Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo")

我得到了 Microsoft.SqlServer.Smo.dll 的位置作为输出: C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.Smo\12.0.0.0__89845dcd8080cc91

请帮助我使用SQL SMO 创建自动化对象。

【问题讨论】:

    标签: javascript sql-server


    【解决方案1】:

    看起来您可能必须使用 RegAsm 将 .Net 接口公开给 COM。

    http://www.progtown.com/topic336324-to-createnet-object-from-simple-jscript.html

    【讨论】:

    • 很抱歉,我之前也看到了这个链接,但不确定这里到底需要做什么。
    • 我使用 RegAsm.exe 手动注册了 Microsoft.SqlServer.Smo.dll 并再次检查。再次遇到同样的错误。
    • stackoverflow.com/questions/24451812/… 。对不起,但这只是需要逐步排除故障。您正在做一些非标准的事情,因此我在网上看到的任何地方都没有明确定义的路径。
    • 当您说非标准时,是否有其他方法可以使用 Javascript。我知道它可以通过 Powershell 完成。但我不想为此更改我的整个脚本。请建议是否有其他方法。
    • 在需要与 COM 的 ActiveX 接口的 JavaScript 中执行此操作是非标准且遗留的。 Powershell 将是标准方式。
    猜你喜欢
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多