代码之家  ›  专栏  ›  技术社区  ›  DanDan

如何在CreateObject中强制32位应用程序使用64位COM DLL?

  •  0
  • DanDan  · 技术社区  · 14 年前

    以下代码的行为因使用32位或64位版本的wscript而不同:

    Set oSQLServer = CreateObject("SQLDMO.SQLServer")
    
    For Each o in oSQLServer.ListInstalledInstances
        MsgBox o
    Next
    

    在32位中,它将列出32位服务器(SQL Server 2000)的实例,在64位中,我将获得64位服务器(SQL Server 2008)的内容。 我需要把这个代码转换成C++(一个32位的应用程序)。但我需要显示64位服务器。如何强制创建的对象使用注册表中的64位dll和64位键?

    2 回复  |  直到 14 年前
        1
  •  5
  •   Remy Lebeau    14 年前

    32位应用程序无法加载64位dll,64位应用程序无法加载32位dll。

        2
  •  0
  •   DanDan    14 年前

    我决定用ODBC的sqlbrowseconnect和连接字符串

    "DRIVER={SQL Server Native Client 10.0};".  
    

    sqldmo已经死得很好了,而且sqlsmo只对托管应用程序比较短视。