无法在IIS Windows 7 64位上使用VB脚本中的CreateObject

无法在IIS Windows 7 64位上使用VB脚本中的CreateObject,iis,vbscript,asp-classic,Iis,Vbscript,Asp Classic,当我尝试在Windows 7(64位)计算机上的asp vb脚本中创建COM对象时,总是出现以下错误: Microsoft VBScript runtime error '800a01ad' ActiveX component can't create object /test/test.asp, line 7 我创建了DLL文件,比如 它曾在Windows7 32位上工作。 有没有办法解决这个问题?在Windows 64中,64位进程无法加载32位dll。但是在VB6

当我尝试在Windows 7(64位)计算机上的asp vb脚本中创建COM对象时,总是出现以下错误:

    Microsoft VBScript runtime error '800a01ad'
    ActiveX component can't create object
    /test/test.asp, line 7
我创建了DLL文件,比如

它曾在Windows7 32位上工作。
有没有办法解决这个问题?

在Windows 64中,64位进程无法加载32位dll。但是在VB6中(如果您遵循了指定的教程),您可以将进程内dll COM组件转换为进程外32位exe COM服务器。这样,在实例化组件时就不会有问题。

在Windows 64中,64位进程无法加载32位dll。但是在VB6中(如果您遵循了指定的教程),您可以将进程内dll COM组件转换为进程外32位exe COM服务器。这样,在实例化组件时就不会有问题。

如果您有权访问服务器的IIS管理器,则可以在应用程序池中启用32位应用程序


如果您有权访问服务器的IIS管理器,则可以在应用程序池中启用32位应用程序



好的,但是我该怎么做呢?如果您遵循了指定的教程,请执行相同的操作,但更改项目的类型。我会选择ActiveX exe,而不是编译ActiveXD。好的,我想我做到了。现在我该如何执行步骤7?我们需要在我们的机器上注册我们的DLL文件。打开MS-DOS命令行窗口,并将保存dll的目录更改为。现在键入以下内容:regsvr32 myConnectionString.dll您将获得一个注册成功的确认窗口…。我们完了!我有一根myConnectionString。exe@UderMoreira:祝贺你。现在注册:
myConnectionString.exe/regserver
。看到没问题,但是我怎么做呢?如果你遵循了指定的教程,做同样的事情,但是改变了项目的类型。我会选择ActiveX exe,而不是编译ActiveXD。好的,我想我做到了。现在我该如何执行步骤7?我们需要在我们的机器上注册我们的DLL文件。打开MS-DOS命令行窗口,并将保存dll的目录更改为。现在键入以下内容:regsvr32 myConnectionString.dll您将获得一个注册成功的确认窗口…。我们完了!我有一根myConnectionString。exe@UderMoreira:祝贺你。现在注册:
myConnectionString.exe/regserver
。请参阅,完成此操作后,ODBC驱动程序出现了一些问题:ODBC驱动程序管理器指定的DSN包含驱动程序和应用程序之间的架构不匹配,因此您使用64位驱动程序连接到数据库。启用32位组件似乎会禁用32位组件。您使用的是什么数据库,很可能有32位的替代方案?我使用的是Intersystems Caché5.2.0.329.0=(恐怕我从未使用过缓存,但似乎有一个32位ODBC驱动程序可用。您的解决方案运行良好!我发现我的代码的某些部分使用了ODBC连接,并且使用了32位ODBC,如下所述:。我再次在64位ODBC上配置,一切都运行良好!非常感谢!在我这样做之后,出现了一些问题ODBC驱动程序发生:ODBC驱动程序管理器指定的DSN包含驱动程序和应用程序之间的架构不匹配,因此您正在使用64位驱动程序连接到数据库。启用32位组件似乎会禁用32位组件。您使用的是哪种数据库,很可能有32位替代方案?我使用的是Intersystems Caché5.2.0.329.0..=(恐怕我从未使用过缓存,但似乎有一个32位ODBC驱动程序可用。您的解决方案工作得很好!我发现我的代码的某些部分使用ODBC连接,它使用的是32位ODBC,如下所述:。我在64位ODBC上再次配置,一切都很好!非常感谢!