添加服务器详细信息以连接到VB6中的IBM Websphere MQ系列

时间:2017-02-27 02:57:13

标签: vb6 ibm-mq

我们正在将IBM Websphere MQ移动到另一台服务器(VB6应用程序将位于不同的服务器中)。 我需要填充SET Server字段。 我正在使用MQAX200.DLL连接到MQ。

请告诉我如何从vb6连接到不同的服务器。

以下是我们当前用于连接到队列管理器的代码:

Form1.txtstreamLog_File.WriteLine Date & " " & Time & " STATUS: Attempting to connect to the MQ Queue Manager: " & Form1.strManagerQueueName
Set mconMQ = New MQAX200.MQQueueManager
With mconMQ

    'Set the Name of the Queue Manager (or allow to default)
    .Name = Form1.strManagerQueueName

    'Connect to Queue Manager
    .Connect

    'Get Connect Method Results & Display
    mlngConnectionHandle = .ConnectionHandle

    'Check Completion Code
    If .CompletionCode <> MQCC_OK Then
        Form1.txtstreamLog_File.WriteLine Date & " " & Time & " ERROR: Failed to connect to Queue Manager: " & Form1.strManagerQueueName & vbCr & _
                 "Reason Code:  " & .ReasonCode & vbCr & _
                 "Reason Text:  " & .ReasonName
        ConnectQueueManager = False
        Exit Function
    End If
End With    'mconMQ

Form1.txtstreamLog_File.WriteLine Date & " " & Time & " STATUS: Connected to the Queue Manager successfully"
ConnectQueueManager = True
Exit Function

1 个答案:

答案 0 :(得分:1)

MQAX200.DLL是用于IBM MQs的Microsoft ActiveX和VB6连接的dll。 IBM MQ Classes for .NET是推荐的替代技术。

我发现的所有内容都表明,如果需要连接到多个队列管理器,则只能使用MQSERVER环境变量为单个队列管理器提供连接详细信息,或者使用MQCHLLIB / MQCHLTAB环境变量指向的MQ通道表。

在所有最新版本的知识中心(v7.0.1是我能找到的最早版本)中都记录了MQAX(MQ ActiveX)支持在IBMWebSphere®MQV6.0级别得到稳定: MQ v7.0.1知识中心页面“Coding in ActiveX”:

  

对WebSphere的支持已在WebSphere®MQV6.0级别上得到稳定。要利用在V6.0之后引入WebSphere MQ的功能,请考虑使用.NET。

MQ v9.0知识中心页面“Object-oriented applications”:

  

<强>的ActiveX

     

IBM MQ ActiveX通常称为MQAX。 MQAX作为IBM MQ for Windows的一部分包含在内。对IBMWebSphere®MQV6.0级别的ActiveX的支持已得到稳定。要利用版本6.0之后引入IBM MQ的功能,请考虑使用.NET。有关使用ActiveX中的IBM MQ对象模型编写程序的信息,请参阅使用组件对象模型接口(用于ActiveX的WebSphere MQ自动化类)。

此外,IBM在“IBM MQ V9.0 Software Announcement”中声明:

  

在IBM MQ V9.0中删除的功能

     

对Microsoft ActiveX和VB6的IBM MQ支持

     

IBM ActiveX对Microsoft ActiveX和VB6的支持 已弃用 。 IBM MQ Classes for .NET是推荐的替代技术。

总之,自2005年6月发布的IBM MQ v6.0以来,您使用的接口已经稳定并且没有得到增强,并且只有缺陷修复程序。在v9.0中,它已被弃用,这表明IBM将从该产品的未来版本中删除它。

请注意,您也不能使用TLS加密或使用Microsoft ActiveX库将用户名和密码传递给MQ,并且会限制以保护您的SVRCONN频道免受未经授权的连接。

我建议您转换为.NET库。样本位于tools\dotnet\samples中的MQ安装目录下。

更新2017/04/17

IBM MQ v9知识中心页面“Deprecated, stabilized and removed features”现已更新,以反映IBM MQ对Microsoft ActiveX和VB6的支持 已弃用 。< / p>

  

对MicrosoftActive X和Microsoft Visual Basic 6.0的IBM MQ支持的弃用

     

IBM MQ对MicrosoftActive X和X的支持   不推荐使用Microsoft Visual Basic 6.0。适用于.NET的IBM MQ类是   推荐的更换技术。见Using the Component Object Model Interface (IBM MQ Automation Classes for ActiveX)   和Coding in Visual Basic