【问题标题】:Sharing an object across multiple vbscript instances (for ADO connection pooling)跨多个 vbscript 实例共享一个对象(用于 ADO 连接池)
【发布时间】:2011-11-09 14:05:18
【问题描述】:

是否有任何方法可以在多个 VBS 应用程序之间共享对象引用(而非值)?似乎一个进程外的 COM 对象可能会起作用,但这让我无法自拔,我想知道在我花了一周的时间敲打我的头之前,我是不是找错了树.

背景:我使用的产品强迫我使用一堆小的 vb 脚本与我的数据库进行通信,每个脚本都是独立调用的(没有办法解决这个问题)。这意味着每分钟有几十个单独的连接到数据库(每个脚本一个连接)。与其以这种方式鞭打它(不断建立新的连接),我想知道一个独立程序是否有办法定义和打开 ADO Connection 对象,然后让该独立程序与所有小的 vb 脚本(以便连接池启动)。

感谢您的考虑。

【问题讨论】:

  • 这些 VBScripts,它们是在同一个进程中执行,还是 cscript.exe 每分钟运行“数十次”?

标签: object com vbscript activex ado


【解决方案1】:

据我所知,VB 脚本允许通过引用传递参数。我假设它还允许从函数返回引用。

我认为您的想法可能可行,并且可能值得一试。

使用 VB(与 VBScript 相对)或 Delphi 等语言创建 COM 应用程序或库,可以按照您的建议连接到数据库并保持 ADODB 连接?然后在该对象上定义一个方法,该方法通过 COM 公开,将 ADODB 连接作为 OLEVariant 或函数的简单 Variant 返回

类似的东西

function getConnection() as Object

我真的不知道这是否可行,但应该可行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-23
    • 2010-10-10
    • 2012-01-03
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 2022-11-11
    相关资源
    最近更新 更多