1

我正在尝试通过 C# 与 SAP 建立连接。作为参考,我正在使用此处找到的代码:如何使用 c# 自动化 SAP GUI

我添加了对 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";            
}

当我运行此代码说“...连接断开”时出现错误。如何确定要使用的正确连接字符串?在哪里可以找到用于连接到 SAP 的连接字符串?或者有比使用 OpenConnectionByConnectionString() 方法更好的方法吗?

4

4 回答 4

4

Use this line of code: Connection = Application.OpenConnectionByConnectionString("/H/IP Address/S/3200", false, true);

H: Host IP Address S: Host Port Number. Default is 3200. Check yours.

于 2013-06-20T10:00:59.973 回答
3

以下是描述路由或连接字符串格式的官方文档的一部分:

定义

路由字符串描述了两台主机之间所需连接的站点。路由字符串具有以下语法

(/H/host/S/service/W/pass)*

它由形式为 的任意数量的子字符串组成 /H/host/S/service/W/pass

注意: H、S 和 W 必须大写!

结构

路由字符串包含每个 SAProuter 和目标服务器的子字符串。每个子字符串都包含 SAProuter 在路由中建立连接所需的信息:主机名、端口名和密码(如果已给出)。

子字符串的语法:

  • /H/表示主机名。请注意,主机名必须至少有两个字符长。
  • /S/用于指定服务(端口);它是一个可选条目,默认值为 3299
  • /W/表示路由上前任和后继连接的密码,也是可选的(默认为“”,无密码)
于 2013-02-23T12:37:06.700 回答
0

Your connection string is the name of the SAP area such as ERP, P56, or DFQ

Connection = Application.OpenConnectionByConnectionString("ERP", false, true);

Use that

于 2013-05-27T01:28:27.207 回答
0

The "XXXXXXXXX" argument ("ConnectionString") is actually the description of the connection string that you can locate in the saplogon.ini file, which is at %AppData%\Roaming\SAP\Common

于 2016-06-09T05:58:12.227 回答