1

我正在使用连接器将 SAP 系统与 .NET 4.0 连接起来......我创建了一个示例 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;

        }


    }

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

谁能解开我的疑惑?我们有没有其他方法可以找到系统是否连接?

4

2 回答 2

0

SAP Net Connector 使用连接池。因此,您通常不会自己连接或断开连接,NCo 库会为您执行此操作。只要您真正需要连接,它就会建立。例如,为了简单地测试您的代码,您可以尝试创建一个 IRfcFunction 实例:

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

那应该触发连接。但一般情况下,与SAP系统通信前不需要打开连接,只需要做好连接可能无法建立的准备(参数错误,系统宕机等)。

于 2014-03-14T12:13:14.383 回答
0

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

RfcDestinationManager.UnregisterDestinationConfiguration(sapCfg);

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

于 2015-10-28T10:22:23.950 回答