如何找到通过 C# 应用程序自动化 SAP GUI 所需的连接字符串?

Sup*_*ser 2 c# automation connection-string sap-gui

我正在尝试通过 C# 连接到 SAP GUI。作为参考,我使用此处找到的代码:How do I Automation SAP GUI with c#

我添加了对 sapfewse.ocx 的引用和相应的 using 语句。这是我的代码:

using SAPFEWSELib;

private void OpenSAP()
{
    GuiApplication Application;
    GuiConnection Connection;
    GuiSession Session;
                        
    Application = (GuiApplication)System.Activator.CreateInstance(Type.GetTypeFromProgID("SapGui.ScriptingCtrl.1"));

    // How do I find the connection string that I use to connect to SAP?
    Connection = Application.OpenConnectionByConnectionString("XXXXXXXXX", false, true);
    Session = (GuiSession)Connection.Sessions.Item(0);

    Session.TestToolMode = 1;

    ((GuiTextField)Session.ActiveWindow.FindByName("RSYST-MANDT", "GuiTextField")).Text = "XXX";
    ((GuiTextField)Session.ActiveWindow.FindByName("RSYST-BNAME", "GuiTextField")).Text = "XXXXXXXX";
    ((GuiTextField)Session.ActiveWindow.FindByName("RSYST-BCODE", "GuiPasswordField")).Text = "XXXXXXXX";
    ((GuiTextField)Session.ActiveWindow.FindByName("RSYST-LANGU", "GuiTextField")).Text = "XX";            
}
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时出现错误

...连接中断

如何确定要使用的连接字符串正确?在哪里可以找到用于连接 SAP 的连接字符串?或者有比使用该OpenConnectionByConnectionString()方法更好的方法吗?

小智 5

使用这行代码: Connection = Application.OpenConnectionByConnectionString("/H/IP 地址/S/3200", false, true);

H:主机 IP 地址 S:主机端口号。默认值为 3200。检查您的。