了解更多关于 SAP 连接字符串中的数据提供程序类型

若要建立与 SAP 系统的连接,ADO.NET 客户端必须以连接字符串的形式指定 SAP 连接属性。 SAP ADO 连接字符串的格式如下所示:

[Property1]=[Value1];[Property2]=[Value2];....

使用适用于 SAP 的数据提供程序连接到 SAP 系统的连接字符串可以具有以下类型:

  • 类型 A: 一种基于应用程序主机的连接,其中连接 URI 指定一个应用服务器,通过该服务器,SAP 数据提供者连接到 SAP 系统。

  • 类型 B: 一个负载均衡的连接,其中连接 URI 指定一个消息服务器,用于 SAP 的数据提供程序通过该服务器连接到 SAP 系统。

  • 类型 D: 一个基于目标的连接,其中连接 URI 指定 saprfc.ini 文件中的目标,其中包含 SAP 系统的连接参数。

    下表介绍了如何在连接 URI 中指定这些连接。

类型 属性 1 属性 2 DESCRIPTION
一个 ASHOST (应用程序服务器主机) SYSNR (SAP 系统编号) 指定基于应用程序主机的连接。
B MSHOST (消息服务器主机) R3NAME (SAP R3 名称) 通过消息服务器指定负载均衡连接。 对于负载均衡连接,可以指定可选的服务器组。
D DEST(包含 saprfc.ini 文件中连接参数的目的地) - 指定基于目标的连接。 SAP 连接参数包含在 saprfc.ini 文件中的指定目标中。 只能在目标中指定 TYPE A 和 TYPE B 连接。 注意: 如果在 saprfc.ini 文件中指定连接值,请确保该文件位于与访问它的 .exe 相同的文件夹中,或位于 SAP 系统要求的标准位置。 有关详细信息,请参阅 SAP 文档。

根据连接类型,使用适用于 SAP 的数据提供程序连接到 SAP 系统的连接字符串可以包含以下属性。

资产 用于 TYPE DESCRIPTION
应用程序服务器主机 (ASHOST) 一个 SAP 应用程序服务器主机的名称。
系统编号 (SYSNR) 一个 SAP 系统编号
应用程序服务器组名称(GROUP) B SAP 服务器组的名称。 这是负载均衡连接中的一组可选应用程序服务器。
消息服务器主机 (MSHOST) B SAP 消息服务器主机的名称
消息服务器服务 (MSSERV) B 系统驱动器>:\WINDOWS\system32\drivers\etc\services 文件中指定的 <SAP 消息服务器服务的名称。 如果未指定值,则 SAP 的数据提供程序假定这是“sapms<R/3 系统名称>”。 例如,如果 R/3 系统名称为 DV1,则适配器假定消息服务器服务名称为“sapmsDV1”。

但是,如果服务文件中的条目不同,则必须指定该值。
R/3 系统名称(R3NAME) B SAP R/3 的名称。
目的地(DEST) D 从 saprfc.ini 文件中选取连接参数。
客户(CLIENT) A、B、D SAP 客户端编号
语言(Lang) A、B、D 语言
密码 (PASSWD) A、B、D SAP 用户密码
用户名(USER) A、B、D 要连接到 SAP 系统的用户名
启用 SAP GUI 调试 (AbapDebug) A、B、D 可选参数,该参数指定是否启用来自 Visual Studio 的 ABAP 调试,以及适配器是否使用 SAP GUI 进行调试。 该值可以是 True 或 False;如果为 True,则启用 ABAP 调试并打开 SAP GUI。 默认值为 False。
追踪 RFC SDK(RfcSdkTrace) A、B、D 指定是否启用 RFC 库跟踪的可选参数。 该值可以是 True 或 False;如果为 True,则启用 RFC 库跟踪。 默认值为 False。
SapRouter (SAPROUTER) A、B、D 用于通过防火墙连接的 SAProuter 的可选参数。 此参数是主机名和服务名称/端口号的列表,格式如下:/H/hostname/S/portnumber。

注释

属性列中括号内提供的值是必须在通过编程解决方案提供连接 URI 时指定的连接属性的名称。 但是,如果使用 DDEX 插件或 SQL Server 导入和导出向导来使用 ADO 接口,则连接属性将列为友好名称。

TYPE A 的示例连接字符串

TYPE A 的示例连接字符串如下所示:

TYPE=A; ASHOST=SAPSERVER; SYSNR=00; CLIENT=800; LANG=EN; USER=YourUserName; PASSWD=YourPassword;

注释

默认情况下,SAP 的数据提供程序始终将连接字符串视为类型 A。

TYPE B 的示例连接字符串

TYPE B 的示例连接字符串如下所示:

TYPE=B; R3NAME=NAME1; GROUP=ADAPTER; MSHOST=MSSERVER; CLIENT=800; LANG=EN; USER=YourUserName; PASSWD=YourPassword;

TYPE D 的示例连接字符串

TYPE D 的示例连接字符串如下所示:

TYPE=D; DEST=TESTSAPSRV; CLIENT=800; LANG=EN; USER=YourUserName; PASSWD=YourPassword;

示例 saprfc.ini 文件类似于:

DEST=TESTSAPSRV
TYPE=A
ASHOST=ADAPSAP47
SYSNR=00

有关 saprfc.ini 文件的详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkId=91457

所有三种连接类型的密码不得包含双引号。 但是,如果密码包含任何其他特殊字符,则必须将密码括在双引号中。 例如:

ASHOST=SAPSERVER; SYSNR=00; CLIENT=800; LANG=EN; USER=YourUserName; PASSWD=",@/:;_ \\";

重要

必须为一个连接类型 A、B 或 D 指定连接参数。例如,如果在连接字符串中指定应用程序服务器主机,则不得指定消息服务器主机名或 R3NAME。

另请参阅

使用 mySAP Business Suite 的 .NET Framework 数据提供程序