了解 SAP 连接字符串的数据提供程序类型

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

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

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

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

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

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

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

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

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

属性 用于 TYPE 说明
应用程序服务器主机 (ASHOST) A SAP 应用程序服务器主机的名称。
系统编号 (SYSNR) A 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 文件选取连接参数。
客户端 (客户端) A、B、D SAP 客户端编号
语言 (Lang) A、B、D 语言
密码 (PASSWD) A、B、D SAP 用户密码
用户名 (USER) A、B、D 要连接到 SAP 系统的用户名
(AbapDebug) 启用 SAP GUI 调试 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 接口,连接属性将作为友好名称列出。

类型 A 的示例连接字符串

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

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

注意

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

类型 B 的示例连接字符串

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

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

类型 D 的示例连接字符串

类型 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 数据提供程序