繁体   English   中英

如何检查SAP系统是否连接到.NET?

[英]How to check whether the SAP system is connected to .NET or not?

我正在使用连接器通过.NET 4.0连接SAP系统。...我创建了一个示例Windows appln以检查其是否在连接中。这是我的代码...

    private void Form1_Load(object sender, EventArgs e)
    {
        try
        {

            SAPSystemConnect sapCfg = new SAPSystemConnect();
            RfcDestinationManager.RegisterDestinationConfiguration(sapCfg);
            RfcDestination rfcDest = null;
            rfcDest = RfcDestinationManager.GetDestination("Dev");

        }
        catch (Exception ex)
        {

           // MessageBox.Show("ERROR");
              label1.text=ex.Message;

        }


    }

当我运行此代码时没有任何反应...即使我在应用程序设置(配置文件)中输入了错误的用户名和密码,也不会显示任何异常,而只是在加载表格...

谁能消除我的疑问? 我们还有其他方法可以确定系统是否已连接吗?

SAP Net Connector使用连接池。 因此,您通常不连接自己或断开连接,NCo库为您完成了这一工作。 实际需要连接后,它将立即建立。 为了简单地测试您的代码,您可以尝试创建一个IRfcFunction实例:

...
rfcDest = RfcDestinationManager.GetDestination("Dev");
IRfcFunction fnc = rfcDest.Repository.CreateFunction("RFCPING");
...

那应该触发连接。 但是通常,在与SAP系统通信之前,不需要打开连接,您只需要为无法建立连接(参数错误,系统关闭等)做好准备。

您可以做的一件事是在使用完成工作后注销配置

RfcDestinationManager.UnregisterDestinationConfiguration(sapCfg);

下次尝试连接时,再次注册并使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM