# Class SQLServerProcedureAction

java.lang.Object
org.apache.cayenne.access.jdbc.BaseSQLAction
org.apache.cayenne.access.jdbc.ProcedureAction
org.apache.cayenne.dba.sqlserver.SQLServerProcedureAction

All Implemented Interfaces:
  `SQLAction`

public class SQLServerProcedureAction extends ProcedureAction
ProcedureAction for SQLServer MS JDBC driver. Customizes OUT parameter processing - it has to be done AFTER the ResultSets are read (note that jTDS driver works fine with normal ProcedureAction).

See JIRA CAY-251 for details.

Since:
  1.2

- ## Field Summary

  ### Fields inherited from class ProcedureAction

  `processedResultSets, query`

  ### Fields inherited from class BaseSQLAction

  `dataNode`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SQLServerProcedureAction(ProcedureQuery query, DataNode dataNode)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `performAction(Connection connection, OperationObserver observer)`
  Executes a query using a strategy defined by the implementation.

  ### Methods inherited from class ProcedureAction

  `bindParameters, describeResultSet, getProcedure, initStatement, readProcedureOutParameters`

  ### Methods inherited from class BaseSQLAction

  `getInMemoryOffset, readResultSet`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### SQLServerProcedureAction

    public SQLServerProcedureAction(ProcedureQuery query, DataNode dataNode)
    Since:
      4.0

- ## Method Details

  - ### performAction

    public void performAction(Connection connection, OperationObserver observer) throws Exception
    Description copied from interface: `SQLAction`
    Executes a query using a strategy defined by the implementation.
    Specified by:
      `performAction` in interface `SQLAction`
    Overrides:
      `performAction` in class `ProcedureAction`
    Throws:
      `Exception`