В нашем приложении Struts2-Spring мы используем следующие строки кода для доступа к процедуре
ServerSession serverSession = null;
ClientSession cSession = null;
serverSession = (ServerSession) SessionManager.getManager().getSession("db_session");
cSession =serverSession .acquireClientSession();
StoredProcedureCall call = new StoredProcedureCall();
call.setProcedureName("usp_list_dept_users");
call.addNamedArgumentValue("p_user_id", user_id);
call.useNamedCursorOutputAsResultSet("RCT1");
List<DatabaseRecord> list = cSession.executeSelectingCall(call);
ListIterator<DatabaseRecord> litr = list.listIterator();
--------------
-------------
-------------
Этот код работает для oracle db. Но тот же код не работает при подключении SQLserver DB
List<DatabaseRecord> list = cSession.executeSelectingCall(call);
бросков nullpointerexception
Ниже приведено содержимое Session.xml, используемое для подключения к SQLserver
<session xsi:type="server-session">
<name>db_session</name>
<event-listener-classes/>
<logging xsi:type="toplink-log"/>
<login xsi:type="database-login">
<platform-class>org.eclipse.persistence.platform.database.SQLServerPlatform</platform-class>
<user-name>sa</user-name>
<password>testpwd</password>
<sequencing>
<default-sequence xsi:type="native-sequence">
<name>Native</name>
</default-sequence>
</sequencing>
<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
<connection-url>jdbc:sqlserver://172.16.12.7:1433;databaseName=stdentlist</connection-url>
</login>
<connection-pools>
<read-connection-pool>
<name>ReadConnectionPool</name>
</read-connection-pool>
<write-connection-pool>
<name>default</name>
</write-connection-pool>
</connection-pools>
<connection-policy/>
</session>