閱讀 SAP 連接字串的資料提供者類型
若要建立 SAP 系統的連線,ADO.NET 用戶端必須以連接字串的形式指定 SAP 連線屬性。 SAP ADO 連接字串的格式看起來如下:
[Property1]=[Value1];[Property2]=[Value2];....
使用 Data Provider for SAP 連線到 SAP 系統的連接字串可以有下列類型:
輸入 A: 應用程式主機型連線,連線 URI 會指定應用程式伺服器,讓 SAP 的資料提供者連線至 SAP 系統。
類型 B: 負載平衡的連線,其中連接 URI 會指定訊息伺服器,讓 SAP 的資料提供者連線至 SAP 系統。
類型 D: 以目的地為基礎的連線,連線 URI 會在包含 SAP 系統的連線參數的 saprfc.ini 檔案中指定目的地。
下表描述如何在連線 URI 中指定這些連線。
TYPE | 屬性 1 | 屬性 2 | 描述 |
---|---|---|---|
A | ASHOST (Application Server Host) | SYSNR (SAP 系統號碼) | 指定應用程式主機型連線。 |
B | MSHOST (訊息伺服器主機) | R3NAME (SAP R3 名稱) | 指定透過訊息伺服器進行負載平衡連線。 針對負載平衡連線,可以指定選擇性的伺服器群組。 |
D | DEST (目的地,其中包含 saprfc.ini 檔案中的連線參數) | - | 指定以目的地為基礎的連線。 SAP 連線參數包含在 saprfc.ini 檔案中指定的目的地中。 只有 TYPE A 和 TYPE B 連線可以在目的地中指定。 注意: 如果您在 saprfc.ini 檔案中指定連線值,請確定檔案位於與存取檔案或 SAP 系統所需之 .exe 相同的資料夾中。 如需詳細資訊,請參閱 SAP 檔。 |
根據連線類型,使用 Data Provider for SAP 連接到 SAP 系統的連接字串可以包含下列屬性。
屬性 | 用於 TYPE | Description |
---|---|---|
應用程式伺服器主機 (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 使用者密碼 |
使用者名稱 (使用者) | 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=",@/:;_ \\";
重要
您必須只指定一個連線 TYPE A、B 或 D 的連接參數。例如,如果您在連接字串中指定應用程式伺服器主機,則不得指定訊息伺服器主機名稱或 R3NAME。