2017-05-04 58 views
0

我正嘗試使用java代碼連接到SAP服務器,該代碼在eclipse中編寫。 這裏我使用這個代碼.......Jco.createClient對於Jco類型是未定義的

JCO.Client mConnection;  /*getting compilation error*/ 
JCO.Repository mRepository; /*getting compilation error*/ 

Properties connectProperties = new Properties(); 
connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, "********"); 
connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, "**"); 
connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, "***");     

connectProperties.setProperty(DestinationDataProvider.JCO_USER, "*****"); 
connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, "*****"); 
connectProperties.setProperty(DestinationDataProvider.JCO_LANG, "en"); 
createDestinationDataFile("ABAP_AS_WITHOUT_POOLs", connectProperties); 
mConnection = JCo.createClient(connectProperties); /*getting compilation error */ 

而且我已經在我的項目加入sapjco3.jar。 我不知道爲什麼我會收到編譯錯誤...

+0

請告訴我們錯誤。 –

+0

mConnection = JCo.createClient(connectProperties);錯誤:createClient(connectProperties)未定義爲JCo類型 –

回答

0

您的代碼使用了已棄用的JCo版本2.x,SAP現在不再支持這個版本。

在JCo 2.x中,一個API是JCO.createClient(...)而不是JCo.createClient(...)

類別JCo來自包com.sap.conn.jco屬於JCo 3.0 API,但沒有方法createClient()。 並且類別JCO.ClientJCO.Repository也不再存在於JCo 3.0中。

的JCO API 2版本完全改變爲3

我建議不要用任何較長的去支持的軟件工作,但你的Java源代碼,從現在使用JCO版本2.x到3.0遷移。 或者如果剛開始開發你的第一個JCo應用程序,不要再考慮JCo 2.x,而應該直接使用和學習JCo 3.0。

+0

JCoDestination destination = JCoDestinationManager.getDestination(「**********」); \t \t System.out.println(「Attributes:」); System.out.println(destination.getAttributes());你能建議我如何找到目標/我應該把什麼.getDestination()? –

+0

使用上面的代碼我能夠驗證連接是否建立,只是不知道目的地的價值是什麼。 –

+0

您必須將您的目的地的名稱(「YourDestName」)。如果使用默認的JCo基礎架構實現,則需要在當前工作目錄中創建一個名爲'YourDestName.jcoDestination'的屬性文本文件。該文件必須包含所有登錄參數,如'jco.client.ashost = hostname.in.your.domain'。接口「com.sap.conn.jco.ext.DestinationDataProvider」的JavaDoc中描述了有效和必需的屬性。 – Trixx

相關問題