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

次のコード行を使用します。 Connection = Application.OpenConnectionByConnectionString("/H/IP Address/S/3200", false, true);

H: ホストの IP アドレス S: ホストのポート番号。デフォルトは 3200 です。自分のものを確認してください。

于 2013-06-20T10:00:59.973 に答える
3

ルートまたは接続文字列の形式を説明する公式ドキュメントの一部を次に示します。

意味

ルート文字列は、2 つのホスト間で必要な接続のステーションを記述します。ルート文字列の構文は

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

形式の任意の数の部分文字列で構成されます /H/host/S/service/W/pass

注意: H、S、および W は大文字でなければなりません。

構造

ルート文字列には、各 SAProuter およびターゲット サーバーの部分文字列が含まれます。各部分文字列には、SAProuter がルートで接続を設定するために必要な情報 (ホスト名、ポート名、パスワード (指定されている場合)) が含まれています。

部分文字列の構文:

  • /H/ホスト名を示します。ホスト名は 2 文字以上にする必要があることに注意してください。
  • /S/サービス(ポート)を指定するために使用されます。これはオプションのエントリで、デフォルト値は 3299 です
  • /W/ルート上の先行者と後続者の間の接続のパスワードを示し、オプションでもあります (デフォルトは「」、パスワードなし)。
于 2013-02-23T12:37:06.700 に答える
0

接続文字列は、ERP、P56、DFQ などの SAP 領域の名前です。

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

それを使って

于 2013-05-27T01:28:27.207 に答える
0

「XXXXXXXXX」引数 (「ConnectionString」) は、実際には、%AppData%\Roaming\SAP\Common にある saplogon.ini ファイルで見つけることができる接続文字列の説明です。

于 2016-06-09T05:58:12.227 に答える