cancel
Showing results for 
Search instead for 
Did you mean: 

Resource not found: com/microsoft/sqlserver/jdbc/SQLServerResource_en.properties

Former Member
0 Kudos

Hi,

I am trying to connect to SQL server(2008 R2) through an UDF inside a message mapping(a kind of lookup). When I execute the mapping I am getting error in operation mapping.

  • Resource not found: com/microsoft/sqlserver/jdbc/SQLServerResource_en.properties

  • com.sap.aii.ib.server.mapping.execution.MappingClassNotFoundException: com/microsoft/sqlserver/jdbc/SQLServerResource_en.properties at com.sap.aii.ib.server.mapping.execution.InternalMappingFinder.getInputStream(InternalMappingFinder.java:119) at com.sap.aii.ib.server.mapping.execution.InternalMappingFinder.readFile(InternalMappingFinder.java:62) at com.sap.aii.ib.server.mapping.execution.MappingLoader.getResourceAsStream(MappingLoader.java:131) at java.util.ResourceBundle$1.run(ResourceBundle.java:1010) at java.security.AccessController.doPrivileged(Native Method) at java.util.ResourceBundle.loadBundle(ResourceBundle.java:1006) at java.util.ResourceBundle.findBundle(ResourceBundle.java:872) at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:751) at java.util.ResourceBundle.getBundle(ResourceBundle.java:538) at com.microsoft.sqlserver.jdbc.SQLServerException.getErrString(Unknown Source) at com.microsoft.sqlserver.jdbc.DBComms.Prelogin(Unknown Source) at com.microsoft.sqlserver.jdbc.DBComms.<init>(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source) at java.sql.DriverManager.getConnection(DriverManager.java:525) at java.sql.DriverManager.getConnection(DriverManager.java:171) at com.sap.xi.tf._MM_Get_MarvalData_response_to_response_.getMarvalData(_MM_Get_MarvalData_response_to_response_.java:998) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

More info: This SQL server was upgraded from 2005 to 2008 R2. It was running in 32 bit but now it is running in 64 bit. The same mapping was working fine in older versions. I have also upgraded the JDBC driver version from 1.1 to 4.0.

Any ideas why is this error coming? Could it be possible because of drivers or the drivers are not installed properly?

Thanks,

Arivarasu S

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

As we are connecting the SQL DB through UDF(JAVA), we have to change the driver version whis is being used in imported Archive. After the changing the driver version in IA issue is resolved.

Thanks,

Arivarasu S

anupam_ghosh2
Active Contributor
0 Kudos

Hi Arivarasu S,

                       It appears to be java version  mismatch error. Try writing a  java code to connect to SQL server from any local system in client network. Check if you are getting same error nor not. If you are getting same error then there is something wrong with JDBC driver you are using. If the connection works from external program and not for SAP-PI check for parameters maintained in SAP-PI for connecting to database.

Regards

Anupam

Former Member
0 Kudos

Hi Anupam,

I have copied same code in UDF to NWDS and imported JDBC drivers and executed it. It is working. But when execute the interface in PI End to end  I am getting this error. There is no code change in mapping happended.

Thanks,

Arivarasu S

baskar_gopalakrishnan2
Active Contributor
0 Kudos

Few cents... What is your PI version?  As you know JDBC drivers are depending on java version, if your PI version is 7.1 or above , you need to use 64 bit jvm and sql upgrade from 2005 to 2008 would help. If your pi version is 7.0 or below and if you just upgrade sql drivers the jdbc would conflict.

I see few exceptions in the log

a) Chcek whether you installed the latest driver for 2008 and deployed successfully?

b) The error shows SQLServerResource_en.properties the class is not available at run time. Check whether your jar contains that file.

anupam_ghosh2
Active Contributor
0 Kudos

Hi Arivarasu S,

                      Is the java version in client system (from where you tested it successfully) same as that maintained  PI server then this is not a version mismatch problem. In case the java versions are different, then you might not be using correct JDBC drivers in PI server. PI server is searching for a specific file  SQLServerResource_en.properties but not finding it. The error indicates the directory where PI is searching for the file. Please check if this file is existing somehwere else in the server. Also "MappingClassNotFoundException" suggest that correct classes are not in PI server.

Regards

Anupam

Former Member
0 Kudos

Hi Baskar,

Do you know what is the lastest driver for 2008? We are using jdbc driver version 2.0. Our PI system version is 7.11.

Thanks,

Arivarasu S

baskar_gopalakrishnan2
Active Contributor
0 Kudos

This is purely Microsoft SQL server area question. I have seen the link and it shows that you need JDBC Driver 3.0 for your SQL Server version

refer this link

http://www.microsoft.com/en-us/download/details.aspx?id=21599

Former Member
0 Kudos

Hi Anupam,

PI is using version 1.6 and system where I tested locally is also same version 1.6.

Our basis team is going to deploy the driver  version 2.0, will it be compatible for 2008?

Thanks,

Arivarasu S

baskar_gopalakrishnan2
Active Contributor
0 Kudos

Did you get chance to see my previous reply and link? Looks like you need only Driver version 3.0. Take help from Basis team.

Former Member
0 Kudos

Hi Baskar,

Now we have deployed driver version 3.0. Now the error is different,

"java.lang.UnsupportedClassVersionError:com/microsoft/sqlserver/jdbc/SqlServerDriver:
Unsupported major.minor version 50.0"

You have any idea why is this error? Can't I use the same path of 2005 to 2008 R2?

Thanks,

Arivarasu S

baskar_gopalakrishnan2
Active Contributor
0 Kudos

Use java version 1.5 or 1.6.  You are using lower version like jdk 1.4.

Please refer this link and also carefully maximize details icon for the similar error you face..

http://connect.microsoft.com/SQLServer/feedback/details/680495/sql-sever-2008-driver-for-jre-1-4#det...

Take help from BASIS

Former Member
0 Kudos

Hi Baskar,

We are using 1.5(JVM 5) ,

In note 1615198, it shows 1.5 java version should use 49 class format version. But the error shows classVerison 50.0.  It looks like  our PI is having the class format version 50 though it is using 1.5 JVM.  Would it be because of class version is 50 instead of 49?

Thanks,

Arivarasu S

baskar_gopalakrishnan2
Active Contributor
0 Kudos

>Would it be because of class version is 50 instead of 49?

That is possible.

Questions:

a) Have you deleted old version jdbc jar for sql server and  deployed only the latest one?

IMO, also check with microsoft whether for this jdbc driver version are they suggesting any service pack version for jdk 1.5.  This is purely version incompatible between java and sql server jdbc driver.