Package virtuoso.jdbc4

## Class VirtuosoCallableStatement

- java.lang.Object
- - virtuoso.jdbc4.VirtuosoStatement
  - - virtuoso.jdbc4.VirtuosoPreparedStatement
    - - virtuoso.jdbc4.VirtuosoCallableStatement

All Implemented Interfaces:
  `java.lang.AutoCloseable`, `java.sql.CallableStatement`, `java.sql.PreparedStatement`, `java.sql.Statement`, `java.sql.Wrapper`

    public class VirtuosoCallableStatement
    extends VirtuosoPreparedStatement
    implements java.sql.CallableStatement

The VirtuosoCallableStatement class is an implementation of the CallableStatement interface in the JDBC API which represents a callable statement. You can obtain a CallableStatement like below :

       CallableStatement s = connection.prepareCall(...)

See Also:
  `VirtuosoConnection.prepareCall(java.lang.String)`

### Field Summary

Fields
`protected int[]` `param_scale`
`protected int[]` `param_type`

### Fields inherited from interface java.sql.Statement

`CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO`

### Fields inherited from class virtuoso.jdbc4.VirtuosoPreparedStatement

`ps_vresultSet, sql`

### Fields inherited from class virtuoso.jdbc4.VirtuosoStatement

`batch, close_flag, closeOnCompletion, connection, cursorName, exec_type, future, isCached, metaData, objparams, parameters, paramsMetaData, prefetch, req_no, result_opened, rpc_timeout, sparql_executed, statid, txn_timeout, type, vresultSet, wait_result`

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`java.sql.Array` `getArray​(int parameterIndex)` Gets the value of a JDBC `ARRAY` parameter as an `Array` object in the Java programming language.
`java.sql.Array` `getArray​(java.lang.String parameterName)`
`java.math.BigDecimal` `getBigDecimal​(int parameterIndex)` Gets the value of a JDBC NUMERIC parameter as a java.math.BigDecimal object with as many digits to the right of the decimal point as the value contains.
`java.math.BigDecimal` `getBigDecimal​(int parameterIndex, int scale)` Deprecated.
`java.math.BigDecimal` `getBigDecimal​(java.lang.String parameterName)`
`java.sql.Blob` `getBlob​(int parameterIndex)` Gets the value of a JDBC BLOB parameter as a `Blob` object in the Java programming language.
`java.sql.Blob` `getBlob​(java.lang.String parameterName)`
`boolean` `getBoolean​(int parameterIndex)` Gets the value of a JDBC BIT parameter as a boolean in the Java programming language.
`boolean` `getBoolean​(java.lang.String parameterName)`
`byte` `getByte​(int parameterIndex)` Gets the value of a JDBC TINYINT parameter as a byte in the Java programming language.
`byte` `getByte​(java.lang.String parameterName)`
`byte[]` `getBytes​(int parameterIndex)` Gets the value of a JDBC BINARY or VARBINARY parameter as an array of byte values in the Java programming language.
`byte[]` `getBytes​(java.lang.String parameterName)`
`java.io.Reader` `getCharacterStream​(int parameterIndex)` Retrieves the value of the designated parameter as a `java.io.Reader` object in the Java programming language.
`java.io.Reader` `getCharacterStream​(java.lang.String parameterName)` Retrieves the value of the designated parameter as a `java.io.Reader` object in the Java programming language.
`java.sql.Clob` `getClob​(int parameterIndex)` Gets the value of a JDBC CLOB parameter as a Clob object in the Java programming language.
`java.sql.Clob` `getClob​(java.lang.String parameterName)`
`java.sql.Date` `getDate​(int parameterIndex)` Gets the value of a JDBC DATE parameter as a java.sql.Date object.
`java.sql.Date` `getDate​(int parameterIndex, java.util.Calendar cal)` Gets the value of a JDBC DATE parameter as a java.sql.Date object, using the given Calendar object to construct the date.
`java.sql.Date` `getDate​(java.lang.String parameterName)`
`java.sql.Date` `getDate​(java.lang.String parameterName, java.util.Calendar cal)`
`double` `getDouble​(int parameterIndex)` Gets the value of a JDBC DOUBLE parameter as a `double` in the Java programming language.
`double` `getDouble​(java.lang.String parameterName)`
`float` `getFloat​(int parameterIndex)` Gets the value of a JDBC FLOAT parameter as a `float` in the Java programming language.
`float` `getFloat​(java.lang.String parameterName)`
`int` `getInt​(int parameterIndex)` Gets the value of a JDBC INTEGER parameter as an `int` in the Java programming language.
`int` `getInt​(java.lang.String parameterName)`
`long` `getLong​(int parameterIndex)` Gets the value of a JDBC BIGINT parameter as a `long` in the Java programming language.
`long` `getLong​(java.lang.String parameterName)`
`java.io.Reader` `getNCharacterStream​(int parameterIndex)` Retrieves the value of the designated parameter as a `java.io.Reader` object in the Java programming language.
`java.io.Reader` `getNCharacterStream​(java.lang.String parameterName)` Retrieves the value of the designated parameter as a `java.io.Reader` object in the Java programming language.
`java.sql.NClob` `getNClob​(int parameterIndex)` Retrieves the value of the designated JDBC `NCLOB` parameter as a `java.sql.NClob` object in the Java programming language.
`java.sql.NClob` `getNClob​(java.lang.String parameterName)` Retrieves the value of a JDBC `NCLOB` parameter as a `java.sql.NClob` object in the Java programming language.
`java.lang.String` `getNString​(int parameterIndex)` Retrieves the value of the designated `NCHAR`, `NVARCHAR` or `LONGNVARCHAR` parameter as a `String` in the Java programming language.
`java.lang.String` `getNString​(java.lang.String parameterName)` Retrieves the value of the designated `NCHAR`, `NVARCHAR` or `LONGNVARCHAR` parameter as a `String` in the Java programming language.
`java.lang.Object` `getObject​(int parameterIndex)` Gets the value of a parameter as an object in the Java programming language.
`<T> T` `getObject​(int parameterIndex, java.lang.Class<T> type)` Returns an object representing the value of OUT parameter `parameterIndex` and will convert from the SQL type of the parameter to the requested Java data type, if the conversion is supported.
`java.lang.Object` `getObject​(int parameterIndex, java.util.Map map)` Returns an object representing the value of OUT parameter i and uses map for the custom mapping of the parameter value.
`java.lang.Object` `getObject​(java.lang.String parameterName)`
`<T> T` `getObject​(java.lang.String parameterName, java.lang.Class<T> type)` Returns an object representing the value of OUT parameter `parameterName` and will convert from the SQL type of the parameter to the requested Java data type, if the conversion is supported.
`java.lang.Object` `getObject​(java.lang.String parameterName, java.util.Map map)`
`java.sql.Ref` `getRef​(int parameterIndex)` Gets the value of a JDBC REF(<structured-type>) parameter as a `Ref` object in the Java programming language.
`java.sql.Ref` `getRef​(java.lang.String parameterName)`
`java.sql.RowId` `getRowId​(int parameterIndex)` Retrieves the value of the designated JDBC `ROWID` parameter as a `java.sql.RowId` object.
`java.sql.RowId` `getRowId​(java.lang.String parameterName)` Retrieves the value of the designated JDBC `ROWID` parameter as a `java.sql.RowId` object.
`short` `getShort​(int parameterIndex)` Gets the value of a JDBC SMALLINT parameter as a `short` in the Java programming language.
`short` `getShort​(java.lang.String parameterName)`
`java.sql.SQLXML` `getSQLXML​(int parameterIndex)` Retrieves the value of the designated `SQL XML` parameter as a `java.sql.SQLXML` object in the Java programming language.
`java.sql.SQLXML` `getSQLXML​(java.lang.String parameterName)` Retrieves the value of the designated `SQL XML` parameter as a `java.sql.SQLXML` object in the Java programming language.
`java.lang.String` `getString​(int parameterIndex)` Retrieves the value of a JDBC CHAR, VARCHAR, or LONGVARCHAR parameter as a String in the Java programming language.
`java.lang.String` `getString​(java.lang.String parameterName)`
`java.sql.Time` `getTime​(int parameterIndex)` Get the value of a JDBC TIME parameter as a java.sql.Time object.
`java.sql.Time` `getTime​(int parameterIndex, java.util.Calendar cal)` Gets the value of a JDBC TIME parameter as a java.sql.Time object, using the given Calendar object to construct the time.
`java.sql.Time` `getTime​(java.lang.String parameterName)`
`java.sql.Time` `getTime​(java.lang.String parameterName, java.util.Calendar cal)`
`java.sql.Timestamp` `getTimestamp​(int parameterIndex)` Gets the value of a JDBC TIMESTAMP parameter as a java.sql.Timestamp object.
`java.sql.Timestamp` `getTimestamp​(int parameterIndex, java.util.Calendar cal)` Gets the value of a JDBC TIMESTAMP parameter as a java.sql.Timestamp object, using the given Calendar object to construct the Timestamp object.
`java.sql.Timestamp` `getTimestamp​(java.lang.String parameterName)`
`java.sql.Timestamp` `getTimestamp​(java.lang.String parameterName, java.util.Calendar cal)`
`java.net.URL` `getURL​(int parameterIndex)`
`java.net.URL` `getURL​(java.lang.String parameterName)`
`boolean` `hasOut​()` Indicates whether the OUT parameters exist.
`void` `registerOutParameter​(int parameterIndex, int sqlType)` Registers the OUT parameter in ordinal position parameterIndex to the JDBC type sqlType.
`void` `registerOutParameter​(int parameterIndex, int sqlType, int scale)` Registers the parameter in ordinal position parameterIndex to be of JDBC type sqlType.
`void` `registerOutParameter​(int parameterIndex, int sqlType, java.lang.String typeName)` Registers the designated output parameter.
`void` `registerOutParameter​(java.lang.String parameterName, int sqlType)`
`void` `registerOutParameter​(java.lang.String parameterName, int sqlType, int scale)`
`void` `registerOutParameter​(java.lang.String parameterName, int sqlType, java.lang.String typeName)`
`void` `setAsciiStream​(java.lang.String parameterName, java.io.InputStream x)` Sets the designated parameter to the given input stream.
`void` `setAsciiStream​(java.lang.String parameterName, java.io.InputStream x, int length)`
`void` `setAsciiStream​(java.lang.String parameterName, java.io.InputStream x, long length)` Sets the designated parameter to the given input stream, which will have the specified number of bytes.
`void` `setBigDecimal​(java.lang.String parameterName, java.math.BigDecimal x)`
`void` `setBinaryStream​(java.lang.String parameterName, java.io.InputStream x)` Sets the designated parameter to the given input stream.
`void` `setBinaryStream​(java.lang.String parameterName, java.io.InputStream x, int length)`
`void` `setBinaryStream​(java.lang.String parameterName, java.io.InputStream x, long length)` Sets the designated parameter to the given input stream, which will have the specified number of bytes.
`void` `setBlob​(java.lang.String parameterName, java.io.InputStream inputStream)` Sets the designated parameter to a `InputStream` object.
`void` `setBlob​(java.lang.String parameterName, java.io.InputStream inputStream, long length)` Sets the designated parameter to a `InputStream` object.
`void` `setBlob​(java.lang.String parameterName, java.sql.Blob x)` Sets the designated parameter to the given `java.sql.Blob` object.
`void` `setBoolean​(java.lang.String parameterName, boolean x)`
`void` `setByte​(java.lang.String parameterName, byte x)`
`void` `setBytes​(java.lang.String parameterName, byte[] x)`
`void` `setCharacterStream​(java.lang.String parameterName, java.io.Reader reader)` Sets the designated parameter to the given `Reader` object.
`void` `setCharacterStream​(java.lang.String parameterName, java.io.Reader reader, int length)`
`void` `setCharacterStream​(java.lang.String parameterName, java.io.Reader reader, long length)` Sets the designated parameter to the given `Reader` object, which is the given number of characters long.
`void` `setClob​(java.lang.String parameterName, java.io.Reader reader)` Sets the designated parameter to a `Reader` object.
`void` `setClob​(java.lang.String parameterName, java.io.Reader reader, long length)` Sets the designated parameter to a `Reader` object.
`void` `setClob​(java.lang.String parameterName, java.sql.Clob x)` Sets the designated parameter to the given `java.sql.Clob` object.
`void` `setDate​(java.lang.String parameterName, java.sql.Date x)`
`void` `setDate​(java.lang.String parameterName, java.sql.Date x, java.util.Calendar cal)`
`void` `setDouble​(java.lang.String parameterName, double x)`
`void` `setFloat​(java.lang.String parameterName, float x)`
`void` `setInt​(java.lang.String parameterName, int x)`
`void` `setLong​(java.lang.String parameterName, long x)`
`void` `setNCharacterStream​(java.lang.String parameterName, java.io.Reader value)` Sets the designated parameter to a `Reader` object.
`void` `setNCharacterStream​(java.lang.String parameterName, java.io.Reader value, long length)` Sets the designated parameter to a `Reader` object.
`void` `setNClob​(java.lang.String parameterName, java.io.Reader reader)` Sets the designated parameter to a `Reader` object.
`void` `setNClob​(java.lang.String parameterName, java.io.Reader reader, long length)` Sets the designated parameter to a `Reader` object.
`void` `setNClob​(java.lang.String parameterName, java.sql.NClob value)` Sets the designated parameter to a `java.sql.NClob` object.
`void` `setNString​(java.lang.String parameterName, java.lang.String value)` Sets the designated parameter to the given `String` object.
`void` `setNull​(java.lang.String parameterName, int sqlType)`
`void` `setNull​(java.lang.String parameterName, int sqlType, java.lang.String typeName)`
`void` `setObject​(java.lang.String parameterName, java.lang.Object x)`
`void` `setObject​(java.lang.String parameterName, java.lang.Object x, int targetSqlType)`
`void` `setObject​(java.lang.String parameterName, java.lang.Object x, int targetSqlType, int scale)`
`void` `setRowId​(java.lang.String parameterName, java.sql.RowId x)` Sets the designated parameter to the given `java.sql.RowId` object.
`void` `setShort​(java.lang.String parameterName, short x)`
`void` `setSQLXML​(java.lang.String parameterName, java.sql.SQLXML xmlObject)` Sets the designated parameter to the given `java.sql.SQLXML` object.
`void` `setString​(java.lang.String parameterName, java.lang.String x)`
`void` `setTime​(java.lang.String parameterName, java.sql.Time x)`
`void` `setTime​(java.lang.String parameterName, java.sql.Time x, java.util.Calendar cal)`
`void` `setTimestamp​(java.lang.String parameterName, java.sql.Timestamp x)`
`void` `setTimestamp​(java.lang.String parameterName, java.sql.Timestamp x, java.util.Calendar cal)`
`void` `setURL​(java.lang.String parameterName, java.net.URL val)`
`boolean` `wasNull​()` Indicates whether or not the last OUT parameter read had the value of SQL NULL.

### Methods inherited from interface java.sql.CallableStatement

`registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, setObject, setObject`

### Methods inherited from class java.lang.Object

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

### Methods inherited from interface java.sql.PreparedStatement

`addBatch, clearParameters, execute, executeLargeUpdate, executeQuery, executeUpdate, getMetaData, getParameterMetaData, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setDate, setDate, setDouble, setFloat, setInt, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setObject, setObject, setObject, setObject, setObject, setRef, setRowId, setShort, setSQLXML, setString, setTime, setTime, setTimestamp, setTimestamp, setUnicodeStream, setURL`

### Methods inherited from interface java.sql.Statement

`addBatch, cancel, clearBatch, clearWarnings, close, closeOnCompletion, enquoteIdentifier, enquoteLiteral, enquoteNCharLiteral, execute, execute, execute, execute, executeBatch, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, isSimpleIdentifier, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout`

### Methods inherited from class virtuoso.jdbc4.VirtuosoPreparedStatement

`addBatch, clearParameters, close, execute, executeBatch, executeBatchUpdate, executeQuery, executeUpdate, finalize, getMetaData, getParameterMetaData, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setClosed, setDate, setDate, setDouble, setFloat, setInt, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setObject, setObject, setObject, setRef, setRowId, setShort, setSQLXML, setString, setString, setTime, setTime, setTimestamp, setTimestamp, setUnicodeStream, setURL, setVector`

### Methods inherited from class virtuoso.jdbc4.VirtuosoStatement

`addBatch, cancel, cancel_rs, clearBatch, clearWarnings, close_rs, closeOnCompletion, execute, execute, execute, execute, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getExecType, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getStmtOpts, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, isWrapperFor, notify_error, sendQuery, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout, unwrap`

### Methods inherited from interface java.sql.Wrapper

`isWrapperFor, unwrap`

### Field Detail

#### param_type

    protected int[] param_type

#### param_scale

    protected int[] param_scale

### Method Detail

#### registerOutParameter

    public void registerOutParameter​(int parameterIndex,
                                     int sqlType)
                              throws VirtuosoException

Registers the OUT parameter in ordinal position parameterIndex to the JDBC type sqlType. All OUT parameters must be registered before a stored procedure is executed.

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
  `sqlType` - the JDBC type code defined by java.sql.Types. If the parameter is of type Numeric or Decimal, the version of registerOutParameter that accepts a scale value should be used.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.registerOutParameter(int, int)`, `Types`

#### registerOutParameter

    public void registerOutParameter​(int parameterIndex,
                                     int sqlType,
                                     int scale)
                              throws VirtuosoException

Registers the parameter in ordinal position parameterIndex to be of JDBC type sqlType. This method must be called before a stored procedure is executed.

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
  `sqlType` - SQL type code defined by `java.sql.Types`.
  `scale` - the desired number of digits to the right of the decimal point. It must be greater than or equal to zero.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.registerOutParameter(int, int)`, `Types`

#### wasNull

    public boolean wasNull​()
                    throws VirtuosoException

Indicates whether or not the last OUT parameter read had the value of SQL NULL. Note that this method should be called only after calling the get method; otherwise, there is no value to use in determining whether it is null or not.

Specified by:
  `wasNull` in interface `java.sql.CallableStatement`
Returns:
  true if the last parameter read was SQL NULL; false otherwise.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.wasNull()`

#### hasOut

    public boolean hasOut​()

Indicates whether the OUT parameters exist.

Returns:
  true if there are OUT parameters false otherwise.

#### getString

    public java.lang.String getString​(int parameterIndex)
                               throws VirtuosoException

Retrieves the value of a JDBC CHAR, VARCHAR, or LONGVARCHAR parameter as a String in the Java programming language. For the fixed-length type JDBC CHAR, the String object returned has exactly the same value the JDBC CHAR value had in the database, including any padding added by the database.

Specified by:
  `getString` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
Returns:
  the parameter value. If the value is SQL NULL, the result is null.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.getString(int)`

#### getBoolean

    public boolean getBoolean​(int parameterIndex)
                       throws VirtuosoException

Gets the value of a JDBC BIT parameter as a boolean in the Java programming language.

Specified by:
  `getBoolean` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
Returns:
  the parameter value. If the value is SQL NULL, the result is false.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.getBoolean(int)`

#### getByte

    public byte getByte​(int parameterIndex)
                 throws VirtuosoException

Gets the value of a JDBC TINYINT parameter as a byte in the Java programming language.

Specified by:
  `getByte` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
Returns:
  the parameter value. If the value is SQL NULL, the result is 0.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.getByte(int)`

#### getShort

    public short getShort​(int parameterIndex)
                   throws VirtuosoException

Gets the value of a JDBC SMALLINT parameter as a `short` in the Java programming language.

Specified by:
  `getShort` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
Returns:
  the parameter value. If the value is SQL NULL, the result is 0.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.getShort(int)`

#### getInt

    public int getInt​(int parameterIndex)
               throws VirtuosoException

Gets the value of a JDBC INTEGER parameter as an `int` in the Java programming language.

Specified by:
  `getInt` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
Returns:
  the parameter value. If the value is SQL NULL, the result is 0.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.getInt(int)`

#### getLong

    public long getLong​(int parameterIndex)
                 throws VirtuosoException

Gets the value of a JDBC BIGINT parameter as a `long` in the Java programming language.

Specified by:
  `getLong` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
Returns:
  the parameter value. If the value is SQL NULL, the result is 0.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.getLong(int)`

#### getFloat

    public float getFloat​(int parameterIndex)
                   throws VirtuosoException

Gets the value of a JDBC FLOAT parameter as a `float` in the Java programming language.

Specified by:
  `getFloat` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
Returns:
  the parameter value. If the value is SQL NULL, the result is 0.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.getFloat(int)`

#### getDouble

    public double getDouble​(int parameterIndex)
                     throws VirtuosoException

Gets the value of a JDBC DOUBLE parameter as a `double` in the Java programming language.

Specified by:
  `getDouble` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
Returns:
  the parameter value. If the value is SQL NULL, the result is 0.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.getDouble(int)`

#### getBigDecimal

    public java.math.BigDecimal getBigDecimal​(int parameterIndex,
                                              int scale)
                                       throws VirtuosoException

Deprecated.
Gets the value of a JDBC NUMERIC parameter as a java.math.BigDecimal object with scale digits to the right of the decimal point.

Specified by:
  `getBigDecimal` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
  `scale` - the number of digits to the right of the decimal point
Returns:
  the parameter value. If the value is SQL NULL, the result is null.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.getBigDecimal(int, int)`

#### getBytes

    public byte[] getBytes​(int parameterIndex)
                    throws VirtuosoException

Gets the value of a JDBC BINARY or VARBINARY parameter as an array of byte values in the Java programming language.

Specified by:
  `getBytes` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
Returns:
  the parameter value. If the value is SQL NULL, the result is null.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.getBytes(int)`

#### getDate

    public java.sql.Date getDate​(int parameterIndex)
                          throws VirtuosoException

Gets the value of a JDBC DATE parameter as a java.sql.Date object.

Specified by:
  `getDate` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
Returns:
  the parameter value. If the value is SQL NULL, the result is null.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.getDate(int)`

#### getTime

    public java.sql.Time getTime​(int parameterIndex)
                          throws VirtuosoException

Get the value of a JDBC TIME parameter as a java.sql.Time object.

Specified by:
  `getTime` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
Returns:
  the parameter value. If the value is SQL NULL, the result is null.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.getTime(int)`

#### getTimestamp

    public java.sql.Timestamp getTimestamp​(int parameterIndex)
                                    throws VirtuosoException

Gets the value of a JDBC TIMESTAMP parameter as a java.sql.Timestamp object.

Specified by:
  `getTimestamp` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
Returns:
  the parameter value. If the value is SQL NULL, the result is null.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.getTimestamp(int)`

#### getObject

    public java.lang.Object getObject​(int parameterIndex)
                               throws VirtuosoException

Gets the value of a parameter as an object in the Java programming language.

Specified by:
  `getObject` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - The first parameter is 1, the second is 2, and so on
Returns:
  A java.lang.Object holding the OUT parameter value.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.getObject(int)`

#### getBigDecimal

    public java.math.BigDecimal getBigDecimal​(int parameterIndex)
                                       throws VirtuosoException

Gets the value of a JDBC NUMERIC parameter as a java.math.BigDecimal object with as many digits to the right of the decimal point as the value contains.

Specified by:
  `getBigDecimal` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
Returns:
  the parameter value in full precision. If the value is SQL NULL, the result is null.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.getBigDecimal(int, int)`

#### getObject

    public java.lang.Object getObject​(int parameterIndex,
                                      java.util.Map map)
                               throws VirtuosoException

Returns an object representing the value of OUT parameter i and uses map for the custom mapping of the parameter value.

Specified by:
  `getObject` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
  `map` - the mapping from SQL type names to Java classes
Returns:
  a java.lang.Object holding the OUT parameter value.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.getObject(int)`

#### getRef

    public java.sql.Ref getRef​(int parameterIndex)
                        throws VirtuosoException

Gets the value of a JDBC REF(<structured-type>) parameter as a `Ref` object in the Java programming language.

Specified by:
  `getRef` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
Returns:
  the parameter value as a Ref object in the Java programming language. If the value was SQL NULL, the value null is returned.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.getRef(int)`

#### getBlob

    public java.sql.Blob getBlob​(int parameterIndex)
                          throws VirtuosoException

Gets the value of a JDBC BLOB parameter as a `Blob` object in the Java programming language.

Specified by:
  `getBlob` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
Returns:
  the parameter value as a Blob object in the Java programming language. If the value was SQL NULL, the value null is returned.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.getBlob(int)`

#### getClob

    public java.sql.Clob getClob​(int parameterIndex)
                          throws VirtuosoException

Gets the value of a JDBC CLOB parameter as a Clob object in the Java programming language.

Specified by:
  `getClob` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
Returns:
  the parameter value as a `Clob` object in the Java programming language. If the value was SQL NULL, the value null is returned.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.getClob(int)`

#### getArray

    public java.sql.Array getArray​(int parameterIndex)
                            throws VirtuosoException

Gets the value of a JDBC `ARRAY` parameter as an `Array` object in the Java programming language.

Specified by:
  `getArray` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
Returns:
  the parameter value as an `Array` object in the Java programming language. If the value was SQL NULL, the value `null` is returned.
Throws:
  `VirtuosoException` - if a database access error occurs

#### getDate

    public java.sql.Date getDate​(int parameterIndex,
                                 java.util.Calendar cal)
                          throws VirtuosoException

Gets the value of a JDBC DATE parameter as a java.sql.Date object, using the given Calendar object to construct the date.

Specified by:
  `getDate` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
  `cal` - the Calendar object the driver will use to construct the date
Returns:
  the parameter value. If the value is SQL NULL, the result is null.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.getDate(int)`

#### getTime

    public java.sql.Time getTime​(int parameterIndex,
                                 java.util.Calendar cal)
                          throws VirtuosoException

Gets the value of a JDBC TIME parameter as a java.sql.Time object, using the given Calendar object to construct the time.

Specified by:
  `getTime` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
  `cal` - the Calendar object the driver will use to construct the time
Returns:
  the parameter value; if the value is SQL NULL, the result is null.
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.getTime(int)`

#### getTimestamp

    public java.sql.Timestamp getTimestamp​(int parameterIndex,
                                           java.util.Calendar cal)
                                    throws java.sql.SQLException

Gets the value of a JDBC TIMESTAMP parameter as a java.sql.Timestamp object, using the given Calendar object to construct the Timestamp object.

Specified by:
  `getTimestamp` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
  `cal` - the Calendar object the driver will use to construct the timestamp
Returns:
  the parameter value. If the value is SQL NULL, the result is null.
Throws:
  `java.sql.SQLException` - if a database access error occurs

#### registerOutParameter

    public void registerOutParameter​(int parameterIndex,
                                     int sqlType,
                                     java.lang.String typeName)
                              throws VirtuosoException

Registers the designated output parameter. This version of the method `registerOutParameter` should be used for a user-named or REF output parameter. Examples of user-named types include: STRUCT, DISTINCT, JAVA_OBJECT, and named array types.

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2,...
  `sqlType` - a value from `Types`
  `typeName` - the fully-qualified name of an SQL structured type
Throws:
  `VirtuosoException` - if a database access error occurs
See Also:
  `CallableStatement.registerOutParameter(int, int)`

#### registerOutParameter

    public void registerOutParameter​(java.lang.String parameterName,
                                     int sqlType)
                              throws java.sql.SQLException

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### registerOutParameter

    public void registerOutParameter​(java.lang.String parameterName,
                                     int sqlType,
                                     int scale)
                              throws java.sql.SQLException

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### registerOutParameter

    public void registerOutParameter​(java.lang.String parameterName,
                                     int sqlType,
                                     java.lang.String typeName)
                              throws java.sql.SQLException

Specified by:
  `registerOutParameter` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getURL

    public java.net.URL getURL​(int parameterIndex)
                        throws java.sql.SQLException

Specified by:
  `getURL` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setURL

    public void setURL​(java.lang.String parameterName,
                       java.net.URL val)
                throws java.sql.SQLException

Specified by:
  `setURL` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setNull

    public void setNull​(java.lang.String parameterName,
                        int sqlType)
                 throws java.sql.SQLException

Specified by:
  `setNull` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setBoolean

    public void setBoolean​(java.lang.String parameterName,
                           boolean x)
                    throws java.sql.SQLException

Specified by:
  `setBoolean` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setByte

    public void setByte​(java.lang.String parameterName,
                        byte x)
                 throws java.sql.SQLException

Specified by:
  `setByte` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setShort

    public void setShort​(java.lang.String parameterName,
                         short x)
                  throws java.sql.SQLException

Specified by:
  `setShort` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setInt

    public void setInt​(java.lang.String parameterName,
                       int x)
                throws java.sql.SQLException

Specified by:
  `setInt` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setLong

    public void setLong​(java.lang.String parameterName,
                        long x)
                 throws java.sql.SQLException

Specified by:
  `setLong` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setFloat

    public void setFloat​(java.lang.String parameterName,
                         float x)
                  throws java.sql.SQLException

Specified by:
  `setFloat` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setDouble

    public void setDouble​(java.lang.String parameterName,
                          double x)
                   throws java.sql.SQLException

Specified by:
  `setDouble` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setBigDecimal

    public void setBigDecimal​(java.lang.String parameterName,
                              java.math.BigDecimal x)
                       throws java.sql.SQLException

Specified by:
  `setBigDecimal` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setString

    public void setString​(java.lang.String parameterName,
                          java.lang.String x)
                   throws java.sql.SQLException

Specified by:
  `setString` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setBytes

    public void setBytes​(java.lang.String parameterName,
                         byte[] x)
                  throws java.sql.SQLException

Specified by:
  `setBytes` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setDate

    public void setDate​(java.lang.String parameterName,
                        java.sql.Date x)
                 throws java.sql.SQLException

Specified by:
  `setDate` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setTime

    public void setTime​(java.lang.String parameterName,
                        java.sql.Time x)
                 throws java.sql.SQLException

Specified by:
  `setTime` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setTimestamp

    public void setTimestamp​(java.lang.String parameterName,
                             java.sql.Timestamp x)
                      throws java.sql.SQLException

Specified by:
  `setTimestamp` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setAsciiStream

    public void setAsciiStream​(java.lang.String parameterName,
                               java.io.InputStream x,
                               int length)
                        throws java.sql.SQLException

Specified by:
  `setAsciiStream` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setBinaryStream

    public void setBinaryStream​(java.lang.String parameterName,
                                java.io.InputStream x,
                                int length)
                         throws java.sql.SQLException

Specified by:
  `setBinaryStream` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setObject

    public void setObject​(java.lang.String parameterName,
                          java.lang.Object x,
                          int targetSqlType,
                          int scale)
                   throws java.sql.SQLException

Specified by:
  `setObject` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setObject

    public void setObject​(java.lang.String parameterName,
                          java.lang.Object x,
                          int targetSqlType)
                   throws java.sql.SQLException

Specified by:
  `setObject` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setObject

    public void setObject​(java.lang.String parameterName,
                          java.lang.Object x)
                   throws java.sql.SQLException

Specified by:
  `setObject` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setCharacterStream

    public void setCharacterStream​(java.lang.String parameterName,
                                   java.io.Reader reader,
                                   int length)
                            throws java.sql.SQLException

Specified by:
  `setCharacterStream` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setDate

    public void setDate​(java.lang.String parameterName,
                        java.sql.Date x,
                        java.util.Calendar cal)
                 throws java.sql.SQLException

Specified by:
  `setDate` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setTime

    public void setTime​(java.lang.String parameterName,
                        java.sql.Time x,
                        java.util.Calendar cal)
                 throws java.sql.SQLException

Specified by:
  `setTime` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setTimestamp

    public void setTimestamp​(java.lang.String parameterName,
                             java.sql.Timestamp x,
                             java.util.Calendar cal)
                      throws java.sql.SQLException

Specified by:
  `setTimestamp` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### setNull

    public void setNull​(java.lang.String parameterName,
                        int sqlType,
                        java.lang.String typeName)
                 throws java.sql.SQLException

Specified by:
  `setNull` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getString

    public java.lang.String getString​(java.lang.String parameterName)
                               throws java.sql.SQLException

Specified by:
  `getString` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getBoolean

    public boolean getBoolean​(java.lang.String parameterName)
                       throws java.sql.SQLException

Specified by:
  `getBoolean` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getByte

    public byte getByte​(java.lang.String parameterName)
                 throws java.sql.SQLException

Specified by:
  `getByte` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getShort

    public short getShort​(java.lang.String parameterName)
                   throws java.sql.SQLException

Specified by:
  `getShort` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getInt

    public int getInt​(java.lang.String parameterName)
               throws java.sql.SQLException

Specified by:
  `getInt` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getLong

    public long getLong​(java.lang.String parameterName)
                 throws java.sql.SQLException

Specified by:
  `getLong` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getFloat

    public float getFloat​(java.lang.String parameterName)
                   throws java.sql.SQLException

Specified by:
  `getFloat` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getDouble

    public double getDouble​(java.lang.String parameterName)
                     throws java.sql.SQLException

Specified by:
  `getDouble` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getBytes

    public byte[] getBytes​(java.lang.String parameterName)
                    throws java.sql.SQLException

Specified by:
  `getBytes` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getDate

    public java.sql.Date getDate​(java.lang.String parameterName)
                          throws java.sql.SQLException

Specified by:
  `getDate` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getTime

    public java.sql.Time getTime​(java.lang.String parameterName)
                          throws java.sql.SQLException

Specified by:
  `getTime` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getTimestamp

    public java.sql.Timestamp getTimestamp​(java.lang.String parameterName)
                                    throws java.sql.SQLException

Specified by:
  `getTimestamp` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getObject

    public java.lang.Object getObject​(java.lang.String parameterName)
                               throws java.sql.SQLException

Specified by:
  `getObject` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getBigDecimal

    public java.math.BigDecimal getBigDecimal​(java.lang.String parameterName)
                                       throws java.sql.SQLException

Specified by:
  `getBigDecimal` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getObject

    public java.lang.Object getObject​(java.lang.String parameterName,
                                      java.util.Map map)
                               throws java.sql.SQLException

Specified by:
  `getObject` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getRef

    public java.sql.Ref getRef​(java.lang.String parameterName)
                        throws java.sql.SQLException

Specified by:
  `getRef` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getBlob

    public java.sql.Blob getBlob​(java.lang.String parameterName)
                          throws java.sql.SQLException

Specified by:
  `getBlob` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getClob

    public java.sql.Clob getClob​(java.lang.String parameterName)
                          throws java.sql.SQLException

Specified by:
  `getClob` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getArray

    public java.sql.Array getArray​(java.lang.String parameterName)
                            throws java.sql.SQLException

Specified by:
  `getArray` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getDate

    public java.sql.Date getDate​(java.lang.String parameterName,
                                 java.util.Calendar cal)
                          throws java.sql.SQLException

Specified by:
  `getDate` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getTime

    public java.sql.Time getTime​(java.lang.String parameterName,
                                 java.util.Calendar cal)
                          throws java.sql.SQLException

Specified by:
  `getTime` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getTimestamp

    public java.sql.Timestamp getTimestamp​(java.lang.String parameterName,
                                           java.util.Calendar cal)
                                    throws java.sql.SQLException

Specified by:
  `getTimestamp` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getURL

    public java.net.URL getURL​(java.lang.String parameterName)
                        throws java.sql.SQLException

Specified by:
  `getURL` in interface `java.sql.CallableStatement`
Throws:
  `java.sql.SQLException`

#### getRowId

    public java.sql.RowId getRowId​(int parameterIndex)
                            throws java.sql.SQLException

Retrieves the value of the designated JDBC `ROWID` parameter as a `java.sql.RowId` object.

Specified by:
  `getRowId` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2,...
Returns:
  a `RowId` object that represents the JDBC `ROWID` value is used as the designated parameter. If the parameter contains a SQL `NULL`, then a `null` value is returned.
Throws:
  `java.sql.SQLException` - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### getRowId

    public java.sql.RowId getRowId​(java.lang.String parameterName)
                            throws java.sql.SQLException

Retrieves the value of the designated JDBC `ROWID` parameter as a `java.sql.RowId` object.

Specified by:
  `getRowId` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter
Returns:
  a `RowId` object that represents the JDBC `ROWID` value is used as the designated parameter. If the parameter contains a SQL `NULL`, then a `null` value is returned.
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### setRowId

    public void setRowId​(java.lang.String parameterName,
                         java.sql.RowId x)
                  throws java.sql.SQLException

Sets the designated parameter to the given `java.sql.RowId` object. The driver converts this to a SQL `ROWID` when it sends it to the database.

Specified by:
  `setRowId` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `x` - the parameter value
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### setNString

    public void setNString​(java.lang.String parameterName,
                           java.lang.String value)
                    throws java.sql.SQLException

Sets the designated parameter to the given `String` object. The driver converts this to a SQL `NCHAR` or `NVARCHAR` or `LONGNVARCHAR`

Specified by:
  `setNString` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter to be set
  `value` - the parameter value
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### setNCharacterStream

    public void setNCharacterStream​(java.lang.String parameterName,
                                    java.io.Reader value,
                                    long length)
                             throws java.sql.SQLException

Sets the designated parameter to a `Reader` object. The `Reader` reads the data till end-of-file is reached. The driver does the necessary conversion from Java character format to the national character set in the database.

Specified by:
  `setNCharacterStream` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter to be set
  `value` - the parameter value
  `length` - the number of characters in the parameter data.
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### setNClob

    public void setNClob​(java.lang.String parameterName,
                         java.sql.NClob value)
                  throws java.sql.SQLException

Sets the designated parameter to a `java.sql.NClob` object. The object implements the `java.sql.NClob` interface. This `NClob` object maps to a SQL `NCLOB`.

Specified by:
  `setNClob` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter to be set
  `value` - the parameter value
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### setClob

    public void setClob​(java.lang.String parameterName,
                        java.io.Reader reader,
                        long length)
                 throws java.sql.SQLException

Sets the designated parameter to a `Reader` object. The `reader` must contain the number of characters specified by length otherwise a `SQLException` will be generated when the `CallableStatement` is executed. This method differs from the `setCharacterStream (int, Reader, int)` method because it informs the driver that the parameter value should be sent to the server as a `CLOB`. When the `setCharacterStream` method is used, the driver may have to do extra work to determine whether the parameter data should be send to the server as a `LONGVARCHAR` or a `CLOB`

Specified by:
  `setClob` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter to be set
  `reader` - An object that contains the data to set the parameter value to.
  `length` - the number of characters in the parameter data.
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if the length specified is less than zero; a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### setBlob

    public void setBlob​(java.lang.String parameterName,
                        java.io.InputStream inputStream,
                        long length)
                 throws java.sql.SQLException

Sets the designated parameter to a `InputStream` object. The `inputstream` must contain the number of characters specified by length, otherwise a `SQLException` will be generated when the `CallableStatement` is executed. This method differs from the `setBinaryStream (int, InputStream, int)` method because it informs the driver that the parameter value should be sent to the server as a `BLOB`. When the `setBinaryStream` method is used, the driver may have to do extra work to determine whether the parameter data should be sent to the server as a `LONGVARBINARY` or a `BLOB`

Specified by:
  `setBlob` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter to be set the second is 2, ...
  `inputStream` - An object that contains the data to set the parameter value to.
  `length` - the number of bytes in the parameter data.
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if the length specified is less than zero; if the number of bytes in the inputstream does not match the specfied length; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### setNClob

    public void setNClob​(java.lang.String parameterName,
                         java.io.Reader reader,
                         long length)
                  throws java.sql.SQLException

Sets the designated parameter to a `Reader` object. The `reader` must contain the number of characters specified by length otherwise a `SQLException` will be generated when the `CallableStatement` is executed. This method differs from the `setCharacterStream (int, Reader, int)` method because it informs the driver that the parameter value should be sent to the server as a `NCLOB`. When the `setCharacterStream` method is used, the driver may have to do extra work to determine whether the parameter data should be send to the server as a `LONGNVARCHAR` or a `NCLOB`

Specified by:
  `setNClob` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter to be set
  `reader` - An object that contains the data to set the parameter value to.
  `length` - the number of characters in the parameter data.
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if the length specified is less than zero; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### getNClob

    public java.sql.NClob getNClob​(int parameterIndex)
                            throws java.sql.SQLException

Retrieves the value of the designated JDBC `NCLOB` parameter as a `java.sql.NClob` object in the Java programming language.

Specified by:
  `getNClob` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
Returns:
  the parameter value as a `NClob` object in the Java programming language. If the value was SQL `NULL`, the value `null` is returned.
Throws:
  `java.sql.SQLException` - if the parameterIndex is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### getNClob

    public java.sql.NClob getNClob​(java.lang.String parameterName)
                            throws java.sql.SQLException

Retrieves the value of a JDBC `NCLOB` parameter as a `java.sql.NClob` object in the Java programming language.

Specified by:
  `getNClob` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter
Returns:
  the parameter value as a `NClob` object in the Java programming language. If the value was SQL `NULL`, the value `null` is returned.
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### setSQLXML

    public void setSQLXML​(java.lang.String parameterName,
                          java.sql.SQLXML xmlObject)
                   throws java.sql.SQLException

Sets the designated parameter to the given `java.sql.SQLXML` object. The driver converts this to an `SQL XML` value when it sends it to the database.

Specified by:
  `setSQLXML` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `xmlObject` - a `SQLXML` object that maps an `SQL XML` value
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if a database access error occurs; this method is called on a closed `CallableStatement` or the `java.xml.transform.Result`, `Writer` or `OutputStream` has not been closed for the `SQLXML` object
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### getSQLXML

    public java.sql.SQLXML getSQLXML​(int parameterIndex)
                              throws java.sql.SQLException

Retrieves the value of the designated `SQL XML` parameter as a `java.sql.SQLXML` object in the Java programming language.

Specified by:
  `getSQLXML` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - index of the first parameter is 1, the second is 2, ...
Returns:
  a `SQLXML` object that maps an `SQL XML` value
Throws:
  `java.sql.SQLException` - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### getSQLXML

    public java.sql.SQLXML getSQLXML​(java.lang.String parameterName)
                              throws java.sql.SQLException

Retrieves the value of the designated `SQL XML` parameter as a `java.sql.SQLXML` object in the Java programming language.

Specified by:
  `getSQLXML` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter
Returns:
  a `SQLXML` object that maps an `SQL XML` value
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### getNString

    public java.lang.String getNString​(int parameterIndex)
                                throws java.sql.SQLException

Retrieves the value of the designated `NCHAR`, `NVARCHAR` or `LONGNVARCHAR` parameter as a `String` in the Java programming language.

For the fixed-length type JDBC `NCHAR`, the `String` object returned has exactly the same value the SQL `NCHAR` value had in the database, including any padding added by the database.

Specified by:
  `getNString` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - index of the first parameter is 1, the second is 2, ...
Returns:
  a `String` object that maps an `NCHAR`, `NVARCHAR` or `LONGNVARCHAR` value
Throws:
  `java.sql.SQLException` - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6
See Also:
  `setNString(java.lang.String, java.lang.String)`

#### getNString

    public java.lang.String getNString​(java.lang.String parameterName)
                                throws java.sql.SQLException

Retrieves the value of the designated `NCHAR`, `NVARCHAR` or `LONGNVARCHAR` parameter as a `String` in the Java programming language.

For the fixed-length type JDBC `NCHAR`, the `String` object returned has exactly the same value the SQL `NCHAR` value had in the database, including any padding added by the database.

Specified by:
  `getNString` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter
Returns:
  a `String` object that maps an `NCHAR`, `NVARCHAR` or `LONGNVARCHAR` value
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6
See Also:
  `setNString(java.lang.String, java.lang.String)`

#### getNCharacterStream

    public java.io.Reader getNCharacterStream​(int parameterIndex)
                                       throws java.sql.SQLException

Retrieves the value of the designated parameter as a `java.io.Reader` object in the Java programming language. It is intended for use when accessing `NCHAR`,`NVARCHAR` and `LONGNVARCHAR` parameters.

Specified by:
  `getNCharacterStream` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
Returns:
  a `java.io.Reader` object that contains the parameter value; if the value is SQL `NULL`, the value returned is `null` in the Java programming language.
Throws:
  `java.sql.SQLException` - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### getNCharacterStream

    public java.io.Reader getNCharacterStream​(java.lang.String parameterName)
                                       throws java.sql.SQLException

Retrieves the value of the designated parameter as a `java.io.Reader` object in the Java programming language. It is intended for use when accessing `NCHAR`,`NVARCHAR` and `LONGNVARCHAR` parameters.

Specified by:
  `getNCharacterStream` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter
Returns:
  a `java.io.Reader` object that contains the parameter value; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### getCharacterStream

    public java.io.Reader getCharacterStream​(int parameterIndex)
                                      throws java.sql.SQLException

Retrieves the value of the designated parameter as a `java.io.Reader` object in the Java programming language.

Specified by:
  `getCharacterStream` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, ...
Returns:
  a `java.io.Reader` object that contains the parameter value; if the value is SQL `NULL`, the value returned is `null` in the Java programming language.
Throws:
  `java.sql.SQLException` - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closed `CallableStatement`
Since:
  1.6

#### getCharacterStream

    public java.io.Reader getCharacterStream​(java.lang.String parameterName)
                                      throws java.sql.SQLException

Retrieves the value of the designated parameter as a `java.io.Reader` object in the Java programming language.

Specified by:
  `getCharacterStream` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter
Returns:
  a `java.io.Reader` object that contains the parameter value; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### setBlob

    public void setBlob​(java.lang.String parameterName,
                        java.sql.Blob x)
                 throws java.sql.SQLException

Sets the designated parameter to the given `java.sql.Blob` object. The driver converts this to an SQL `BLOB` value when it sends it to the database.

Specified by:
  `setBlob` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `x` - a `Blob` object that maps an SQL `BLOB` value
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### setClob

    public void setClob​(java.lang.String parameterName,
                        java.sql.Clob x)
                 throws java.sql.SQLException

Sets the designated parameter to the given `java.sql.Clob` object. The driver converts this to an SQL `CLOB` value when it sends it to the database.

Specified by:
  `setClob` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `x` - a `Clob` object that maps an SQL `CLOB` value
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### setAsciiStream

    public void setAsciiStream​(java.lang.String parameterName,
                               java.io.InputStream x,
                               long length)
                        throws java.sql.SQLException

Sets the designated parameter to the given input stream, which will have the specified number of bytes. When a very large ASCII value is input to a `LONGVARCHAR` parameter, it may be more practical to send it via a `java.io.InputStream`. Data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from ASCII to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Specified by:
  `setAsciiStream` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `x` - the Java input stream that contains the ASCII parameter value
  `length` - the number of bytes in the stream
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### setBinaryStream

    public void setBinaryStream​(java.lang.String parameterName,
                                java.io.InputStream x,
                                long length)
                         throws java.sql.SQLException

Sets the designated parameter to the given input stream, which will have the specified number of bytes. When a very large binary value is input to a `LONGVARBINARY` parameter, it may be more practical to send it via a `java.io.InputStream` object. The data will be read from the stream as needed until end-of-file is reached.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Specified by:
  `setBinaryStream` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `x` - the java input stream which contains the binary parameter value
  `length` - the number of bytes in the stream
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### setCharacterStream

    public void setCharacterStream​(java.lang.String parameterName,
                                   java.io.Reader reader,
                                   long length)
                            throws java.sql.SQLException

Sets the designated parameter to the given `Reader` object, which is the given number of characters long. When a very large UNICODE value is input to a `LONGVARCHAR` parameter, it may be more practical to send it via a `java.io.Reader` object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Specified by:
  `setCharacterStream` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `reader` - the `java.io.Reader` object that contains the UNICODE data used as the designated parameter
  `length` - the number of characters in the stream
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### setAsciiStream

    public void setAsciiStream​(java.lang.String parameterName,
                               java.io.InputStream x)
                        throws java.sql.SQLException

Sets the designated parameter to the given input stream. When a very large ASCII value is input to a `LONGVARCHAR` parameter, it may be more practical to send it via a `java.io.InputStream`. Data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from ASCII to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `setAsciiStream` which takes a length parameter.

Specified by:
  `setAsciiStream` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `x` - the Java input stream that contains the ASCII parameter value
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### setBinaryStream

    public void setBinaryStream​(java.lang.String parameterName,
                                java.io.InputStream x)
                         throws java.sql.SQLException

Sets the designated parameter to the given input stream. When a very large binary value is input to a `LONGVARBINARY` parameter, it may be more practical to send it via a `java.io.InputStream` object. The data will be read from the stream as needed until end-of-file is reached.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `setBinaryStream` which takes a length parameter.

Specified by:
  `setBinaryStream` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `x` - the java input stream which contains the binary parameter value
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### setCharacterStream

    public void setCharacterStream​(java.lang.String parameterName,
                                   java.io.Reader reader)
                            throws java.sql.SQLException

Sets the designated parameter to the given `Reader` object. When a very large UNICODE value is input to a `LONGVARCHAR` parameter, it may be more practical to send it via a `java.io.Reader` object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `setCharacterStream` which takes a length parameter.

Specified by:
  `setCharacterStream` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `reader` - the `java.io.Reader` object that contains the Unicode data
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### setNCharacterStream

    public void setNCharacterStream​(java.lang.String parameterName,
                                    java.io.Reader value)
                             throws java.sql.SQLException

Sets the designated parameter to a `Reader` object. The `Reader` reads the data till end-of-file is reached. The driver does the necessary conversion from Java character format to the national character set in the database.

Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `setNCharacterStream` which takes a length parameter.

Specified by:
  `setNCharacterStream` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `value` - the parameter value
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs; or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### setClob

    public void setClob​(java.lang.String parameterName,
                        java.io.Reader reader)
                 throws java.sql.SQLException

Sets the designated parameter to a `Reader` object. This method differs from the `setCharacterStream (int, Reader)` method because it informs the driver that the parameter value should be sent to the server as a `CLOB`. When the `setCharacterStream` method is used, the driver may have to do extra work to determine whether the parameter data should be send to the server as a `LONGVARCHAR` or a `CLOB`

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `setClob` which takes a length parameter.

Specified by:
  `setClob` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `reader` - An object that contains the data to set the parameter value to.
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### setBlob

    public void setBlob​(java.lang.String parameterName,
                        java.io.InputStream inputStream)
                 throws java.sql.SQLException

Sets the designated parameter to a `InputStream` object. This method differs from the `setBinaryStream (int, InputStream)` method because it informs the driver that the parameter value should be sent to the server as a `BLOB`. When the `setBinaryStream` method is used, the driver may have to do extra work to determine whether the parameter data should be send to the server as a `LONGVARBINARY` or a `BLOB`

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `setBlob` which takes a length parameter.

Specified by:
  `setBlob` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `inputStream` - An object that contains the data to set the parameter value to.
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### setNClob

    public void setNClob​(java.lang.String parameterName,
                         java.io.Reader reader)
                  throws java.sql.SQLException

Sets the designated parameter to a `Reader` object. This method differs from the `setCharacterStream (int, Reader)` method because it informs the driver that the parameter value should be sent to the server as a `NCLOB`. When the `setCharacterStream` method is used, the driver may have to do extra work to determine whether the parameter data should be send to the server as a `LONGNVARCHAR` or a `NCLOB`

Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of `setNClob` which takes a length parameter.

Specified by:
  `setNClob` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `reader` - An object that contains the data to set the parameter value to.
Throws:
  `java.sql.SQLException` - if parameterName does not correspond to a named parameter; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; if a database access error occurs or this method is called on a closed `CallableStatement`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### getObject

    public <T> T getObject​(int parameterIndex,
                           java.lang.Class<T> type)
                    throws java.sql.SQLException

Returns an object representing the value of OUT parameter `parameterIndex` and will convert from the SQL type of the parameter to the requested Java data type, if the conversion is supported. If the conversion is not supported or null is specified for the type, a `SQLException` is thrown.

At a minimum, an implementation must support the conversions defined in Appendix B, Table B-3 and conversion of appropriate user defined SQL types to a Java type which implements `SQLData`, or `Struct`. Additional conversions may be supported and are vendor defined.

Specified by:
  `getObject` in interface `java.sql.CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
  `type` - Class representing the Java data type to convert the designated parameter to.
Returns:
  an instance of `type` holding the OUT parameter value
Throws:
  `java.sql.SQLException` - if conversion is not supported, type is null or another error occurs. The getCause() method of the exception may provide a more detailed exception, for example, if a conversion error occurs
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.7

#### getObject

    public <T> T getObject​(java.lang.String parameterName,
                           java.lang.Class<T> type)
                    throws java.sql.SQLException

Returns an object representing the value of OUT parameter `parameterName` and will convert from the SQL type of the parameter to the requested Java data type, if the conversion is supported. If the conversion is not supported or null is specified for the type, a `SQLException` is thrown.

At a minimum, an implementation must support the conversions defined in Appendix B, Table B-3 and conversion of appropriate user defined SQL types to a Java type which implements `SQLData`, or `Struct`. Additional conversions may be supported and are vendor defined.

Specified by:
  `getObject` in interface `java.sql.CallableStatement`
Parameters:
  `parameterName` - the name of the parameter
  `type` - Class representing the Java data type to convert the designated parameter to.
Returns:
  an instance of `type` holding the OUT parameter value
Throws:
  `java.sql.SQLException` - if conversion is not supported, type is null or another error occurs. The getCause() method of the exception may provide a more detailed exception, for example, if a conversion error occurs
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.7