New JDBC driver for NetWeaver 7.0 and higher

[]

Symptom
New Microsoft SQL Server JDBC Driver supported
With Microsoft SQL Server 2005 Driver for JDBC 1.2, Microsoft provides a JDBC driver which fulfills the requirements of SAP’s Java stack.
So we start successively with new SAP products to replace the 3rd party driver (a branded DataDirect driver) currently in use for Microsoft SQL Server by this database vendor driver, as it is praxis for the other supported database platforms.
MSQL 2005 Driver for JDBC will be standard for NetWeaver 7.1 projects.
Beginning with NetWeaver 7.0 SR3 installations will be delivered with the Microsoft driver as the standard.
For NetWeaver 7.0 SR1 and SR2 it’s supported to use the Microsoft driver, the change is optional. Installations which run in a 32 Bit environment might encounter memory limitations as a lot effort was invested in the past to reduce the memory footprint of DataDirect on 32 Bit.
For older releases (NetWeaver 2004) we will stay with the branded DataDirect driver.
Using the new driver in 700 SR1 or SR2 installations
If you want to test this driver for your 700 (SR1 or SR2) Java Application Server, you can exchange the DataDirect driver as follows:
(1) New URL and classname
The classname of the MSSQL 2005 Driver for JDBC is
com.microsoft.sqlserver.jdbc.SQLServerDriver.
URLs for the MSSQL 2005 Driver for JDBC are constructed
jdbc:sqlserver://<dbserver>:<port>;databaseName=<dbname>[; if necessary further parameters]
To replace the current settings for your engine:
start configtool ($(DIR_INSTANCE)\j2ee\configtool\configtool.bat)
in the secure store data area edit ClassName and Url:
jdbc/pool/<SID>/ClassName
current value:
com.sap.nwmss.jdbc.sqlserver.SQLServerDriver
new value:
com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc/pool/<SID>/Url
current value:
jdbc:nwmss:sqlserver://<dbserver>:<port>;databasename=<SID>
new value:
jdbc:sqlserver://<dbserver>:<port>;databaseName=<SID>
(to modify:
double click on the according line in the Secure Store Data,edit in the Value-line,store by hitting Add,save by hitting the floppy-icon at the end.
the modifications will take effect on the next restart)
(2) Driver files
The Microsoft SQL Server 2005 Driver for JDBC consists of the jar-file sqljdbc.jar.
You can download the newest version of the JDBC driver from Microsoft’s download area (*),
for example:
http://www.microsoft.com/downloads/details.aspx?familyid=c47053eb-3b64-4794-950d-81e1ec91c1ba&displaylang=en
or http://www.microsoft.com/downloads/details.aspx?FamilyID=C47053EB-3B64-4794-950D-81E1EC91C1BA&displaylang=en
(SAP-internal: the driver can be found on the Perforce depot perforce5000:5000, //db/java/mss/microsoft_jnet)
To exchange the current driver files of your engine:
The JDBC driver’s files are stored either in
$(DIR_INSTANCE)\j2ee\jdbc
or in
$(DIR_EXECUTABLE)\mssjdbc.
For the branded DataDirect driver these are the files base.jar, sqlserver.jar, spy.jar and util.jar.
Unfortunately there’s no simple ‘clean’ method. The system expects the four jar-files.
So:
stop the enginecopy sqljdbc.jar in this driver directoryrename sqlserver.jar: rename sqlserver.jar sqlserver.jarDDcopy sqljdbc.jar to sqlserver.jar: copy sqljdbc.jar sqlserver.jarrestart the engine
The copy of sqljdbc.jar to sqlserver.jar (instead of a rename) avoids possible problems of later upgrades or SP applications.
With the corrected URL and classpath data, the system should now start up using the Microsoft SQL Server 2005 Driver for JDBC.
(*) Hotfix for 1.2
Please be aware that Microsoft SQLServer 2005 Driver for JDBC 1.2 has a bug regarding Statement.setMaxRows (see Microsoft Knowledge Base article 945842 http://support.microsoft.com/?kbid=945842). Make sure to use a corrected version of the driver, either a higher release or the according hotfix. This hotfix for MSSQL 2005 JDBC 1.2 can be downloaded from SAP MarketPlace, too:
http://service.sap.com/msplatforms -> SQL Serverthe zip-file sqljdbc_12_hotfix.zip (Hotfix for SQL JDBC 1.2) contains the installer sqljdbc_1.2.2828.201_enu.exe (Microsoft) and sqljdbc_1.2.2828.201_enu.tar.gz (Unix)
Other terms
JDBC MSSQL driver
Reason and Prerequisites
see above
Solution
see above

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Leave a Comment