cancel
Showing results for 
Search instead for 
Did you mean: 

So hard to deploy a JDBC driver

Former Member
0 Kudos

My PI7.1, I use the "netwaver Administrator" CM->Application Resources to deploy the jdbc driver of postgre, it told me the deploy is OK, but the "Status" of the driver is "Unknown".

And when I try to invloke a channel which uses this postgre JDBC driver, it throws exceptions: can not find class org.postgresql.Driver

What should I do !!! I grep much time in the forum but did not find any clue yet

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

Once the driver file is deployed , then we can check that jar file is successfully deployed or not in the below mentioned path.

E:\usr\sap\SID\DVEBMGS02\j2ee\cluster\bin\ext\com.sap.aii.adapter.lib\lib

Regards,

Venu V

Shabarish_Nair
Active Contributor
0 Kudos
Former Member
0 Kudos

thank you. but your link looks like for PI7.0, I'm using PI7.1, things changed.

and I can not find the note 1138877, can you kindly provide the link?

Shabarish_Nair
Active Contributor
0 Kudos

https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=1138877

FYI~~

Summary

Symptom

This note describes the procedure for deploying 3rd party drivers on PI 7.1 using JSPM.

Other terms

JMS, JDBC, 3rd Party, Drivers, JSPM, com.sap.aii.adapter.lib, provider.

Reason and Prerequisites

When connecting to 3rd party software using JDBC and JMS adapters, external drivers need to be provided.

These 3rd party drivers need to be bundled in com.sap.aii.adapter.lib.sda provided by the adapter engine installation.

Prior to PI 7.1 this was done using the SDM tool, however, in PI 7.1 JSPM is used to deploy com.sap.aii.adapter.lib.sda.

This note described the steps for deployment using JSPM.

Solution

For the JMS Driver only

Prepare the JMS provider file as follows:

1. Copy the external drivers from the provider directory to a separate directory.

For example the SonicMQ driver file is called client.jar and is located in the lib subdirectory of SonicMQ installation directory.

2. Open the driver file with a zip program and remove the standard JMS classes. These are located in directory javax/jms.

3. Save the modified driver file.

For the JDBC Driver and the JMS Driver

Add the modified driver files to the lib directory of the archive com.sap.aii.adapter.lib.sda with the help of a zip program.

Then to modify the provider.xml file in the server directory of the archive com.sap.aii.adapter.lib.sda, proceed as follows:

1. Extract provider.xml using a zip program and edit it as follows:

a. For each external driver file that needs to be bundled in com.sap.aii.adapter.lib.sda, add the line <jar-name>lib/driver-jar</jar-name> in the <jars> section.

If you want to install the SAP DB JDBC driver and the SonicMQ JMS driver, this section looks like this:

<jars>

<jar-name>lib/sapdbc.jar</jar-name>

<jar-name>lib/client.jar</jar-name>

</jars>

b. Return the changed provider.xml to the archive.

Make sure that the original directory server\ is retained under Path in the zip archive.

2. Add all external driver jars that you have defined in provider.xml to the lib directory in the archive com.sap.aii.adapter.lib.sda.

3. Use the JSPM tool to deploy com.sap.aii.adapter.lib.sda.

a. To start JSPM, run 'go' from the /usr/sap/<SID>/<Central instance name>/j2ee/JSPM/ directory.

b. Log on with the AS Java username and password.

c. Select 'HotFixes' option as the package type.

d. Place the com.sap.aii.adapter.lib.sda in Inbox directory.

This will be mentioned in the Select Package Type dialog.

By default this is
<HOST>\sapmnt\trans\EPS\in.

e. Select Next.

f. If no applicable development component(s) are found in the Inbox directory then:

i. Check to see if the Inbox directory is correct and has the com.sap.aii.adapter.lib.sda.

For more information on this refer to 'Detecting and Changing the JSPM Inbox Directory' section of the JSPM documentation.

ii. JSPM does not allow to deploy an SCA/SDA with the same version (release, SP-level, patch-level) as an already deployed component.

In such a case, the com.sap.aii.adapter.lib.sda will not be listed in the Specify Queue dialog box.

To force the deployment of an such SCA/SDA ignoring version rule run the 'go' command as follows:

go -config=/jspm/forceMode=true

-config=/jspm/deployVersionRule=updateAll

For more information on this please refer to SAP Note 1123333.

f. Select the hot fixes to deploy. In this case sap.com/com.sap.aii.adapter.lib and press Next.

g. For more information about deployment procedure, refer to JSPM documentation.

FAQs

Q1. Where can I find JSPM documentation?

Ans. Link to the JSPM User Guide on SAP Help Portal:

help.sap.com -> Documentation -> SAP NetWeaver -> SAP NetWeaver 7.0 (2004s) -> choose a language -> SAP Library -> SAP NetWeaver Library -> SAP NetWeaver by Key Capability -> Solution Life Cycle Management by Key Capability -> Solution Life Cycle Management by Key Capability -> Software Life Cycle Management -> Software Maintenance -> Java Support Package Manager

Q2. Where can I find more information on JSPM?

Ans. Refer to SAP Note 891983

Q3. I am unable to see any SCA/SDA in the Specify Queue dialog box.

OR

I get the message "No applicable development component(s) found in the Inbox directory"

OR

How do I force the deployment of a component ignoring version rules ?

Ans. Refer to SAP Note 1123333.

Q4. Where can I find more information on the JMS Adapter?

Ans.Refer to SAP Note. 856346.

Q5. Where can I find more information on the JDBC Adapter?

Ans. Refer to SAP Note. 831162

Q6. Which external driver files do I need to bundle in the com.sap.aii.adapter.lib.sda?

Ans. Refer to JMS and JDBC Adapter notes mentioned above.

Q7. What are some of the things that have changed with respect to the adapter lib from XI 30 to PI 7.1?

Ans. The library name has changed from aii_af_jmsproviderlib.sda (releases 3.0/7.0) to com.sap.aii.adapter.lib.sda (release 7.1).

The component name has changed from com.sap.aii.af.jmsproviderlib (releases 3.0/7.0) to com.sap.aii.adapter.lib (release 7.1).

Even the directory structure has changed. The com.sap.aii.adapter.lib.sda (release 7.1) has a lib directory in which all the external drivers need to be placed.

This was not present in aii_af_jmsproviderlib.sda (releases 3.0/7.0) and the external drivers were placed in the root directory of the archive

Q8. Can I use the DriverTool (provided with XI 3.0) to bundle the jars in com.sap.aii.adapter.lib.sda?

OR

Is there a new DriverTool for bundling the external jars in com.sap.aii.adapter.lib.sda?

Ans. No. Due to the changes mentioned above, the DriverTool provided with XI 3.0 cannot be used to bundle external drivers in com.sap.aii.adapter.lib.sda.

No. There is no new tool for bundling the external jars in com.sap.aii.adapter.lib.sda. This needs to be done manually as described in the steps above.

Former Member
0 Kudos

thanks, but it saies I need to mofidy com.sap.aii.adapter.lib.sda and provider.xml, where can I find those 2 files?

I did not see them in my sap directory /usr/sap/

Former Member
0 Kudos

Hi,

Chek with basis team for the SDA "com.sap.aii.adapter.lib.sda" or you can search it in Server (in download dump)

provider.xml, will be in SDA file, unzip the SDA, you will get the provider.xml.

Regards,

Venu V

Former Member
0 Kudos

The SAP Help Documentation is available at this location: [http://help.sap.com/saphelp_nwpi71/helpdata/EN/33/e6fb40f17af66fe10000000a1550b0/frameset.htm.|http://help.sap.com/saphelp_nwpi71/helpdata/EN/33/e6fb40f17af66fe10000000a1550b0/frameset.htm] It tells you to do a whole lot of things with the com.sap.aii.adapter.lib.sda file and, after you get completely frustrated trying to find the file, it mentions the location in point 4!

Download the file. Unpack it into a convenient directory. Edit it as described. Zip up the whole directory again then rename the resulting .zip file to .sda.

Having said all the above, I can't guarantee you success in the deployment. In my case the development component has already been deployed and, even though I've added the new .sda file to the EPS/in directory, JSPM refuses to offer it for deployment now. I suspect there's a version management issue. Any hints here would be greatly appreciated.

Former Member
0 Kudos

Hi,

I hope you had looked at these notes, if not have a look at:

Note 1138877 - PI 7.1 : How to Deploy External Drivers JDBC/JMS Adapters

Note 891983 - JSPM: Central SAP Note SAP NetWeaver 7.0 AS Java

Regards,

Venu V

Former Member
0 Kudos

I've checked out both the notes you mention and I still don't see my ".sda" file as a deployable item. There is another .sda file in EPS/in which does show up using the version override parameters.

I've logged a message with SAP support on this.

Former Member
0 Kudos

Hi,

If you still can not find the file of com.sap.aii.adapter.lib.sda, you can check DATA_UNITS\JAVA_J2EE_OSINDEP_J2EE_INST on your SAP NetWeaver 7.10 PI Java installation DVD

Former Member
0 Kudos

It turned out, in my case, that the .sda file I had uploaded from the server to my PC to adjust prior to redeployment was not well structured when I rebuilt it. The unzip utility on the PC tends to retain the subdirectory structure of the original system and I managed to replicate the root directory in the rebuilding process which meant that JSPM didn't find anything deployable at the top level. After a rebuild, the file re-deployed overriding the version restrictions.