[英]SAP Netweaver. C++ Error:The memory cannot be read
對於我的項目,我需要使用 SAP Netweaver 7.0 測試路由器字符串是否成功連接到 SAP 服務器。 我在 Visual Studio 2017 中創建了一個控制台應用程序。我已經給出了連接參數。 但是應用程序以錯誤結束:無法讀取內存
#include <stdlib.h>
#include <stdio.h>
#include "stdafx.h"
#include "include/sapnwrfc.h"
void errorHandling(RFC_RC rc, RFC_ERROR_INFO*errorInfo, RFC_CONNECTION_HANDLE connection) {
printfU(cU("%s: %s\n"), errorInfo->key, errorInfo->message);
/* It's better to close the TCP/IP connection cleanly, than tojust let the backend get a "Connection reset by peer" error...*/
if (connection != NULL) RfcCloseConnection(connection, errorInfo);
exit(1);
}
int mainU(int argc, SAP_UC** argv)
{
RFC_RC rc = RFC_OK;
RFC_CONNECTION_PARAMETER loginParams[6];
RFC_ERROR_INFO errorInfo;
RFC_CONNECTION_HANDLE connection;
// -----------------------------------------------
// OPEN CONNECTION
// -----------------------------------------------
// Create logon parameter list
loginParams[0].name = cU("gwhost");
loginParams[0].value = cU("80.**.***.**");
loginParams[1].name = cU("sysnr");
loginParams[1].value = cU("00");
loginParams[2].name = cU("client");
loginParams[2].value = cU("800");
loginParams[3].name = cU("user");
loginParams[3].value = cU("jsar12");
loginParams[4].name = cU("lang");
loginParams[4].value = cU("EN");
loginParams[5].name = cU("****");
loginParams[5].value = cU("Abc");
// Open connection
connection = RfcOpenConnection(loginParams, 6, &errorInfo);
if (connection == NULL) errorHandling(rc, &errorInfo, NULL);
return 0;
}
預期結果:連接到 SAP 路由器
上述問題的解決方案是在 Visual Studio 的設置中。 經過大量搜索和嘗試一些技巧后,我在以下鏈接中找到了解決方案: https : //answers.sap.com/questions/12367200/netweaver-rfc-connector-error-logon.html
概括:
On Linux and Windows, certain minimum releases of the C runtime are required to execute the programs. See SAP Notes 1021236 (for Linux) and 684106 (for Windows). The compiler and linker options needed to compile programs using the SAP NetWeaver RFC SDK are listed in SAP Note 1056696.
In addition, for Windows users using Microsoft Visual Studio, this is a description of how to set the Visual Studio project properties:
General section: Make sure the CharacterSet field is set to “Use Unicode Character Set.”
Debugging section: Under Environment, add something like Path=%Path%;nwrfcsdk\lib.
C/C++ section:
General: Add the nwrfcsdk\include directory under Additional Include Directories.
Preprocessor: Add the two preprocessor definitions SAPonNT and SAPwithUNICODE.
Code Generation: Choose “Multi-threaded DLL (/MD)” as the Runtime Library; selecting “Multi-threaded Debug DLL (/MDd)” may lead to strange problems.
Linker section:
General: Add the nwrfcsdk\lib directory under Additional Library Directories.
Input: Under Additional Dependencies, add libsapucum.lib, sapnwrfc.lib, and sapdecfICUlib.lib
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.