Library: Data/ODBC
Package: ODBC
Header: Poco/Data/ODBC/SessionImpl.h
Description
Implements SessionImpl interface
Inheritance
Direct Base Classes: Poco::Data::AbstractSessionImpl < SessionImpl >
All Base Classes: Poco::Data::AbstractSessionImpl < SessionImpl >
Member Summary
Member Functions: addFeatures, autoBind, autoCommit, autoExtract, begin, canTransact, close, commit, connectorName, createStatementImpl, dataTypeInfo, dbEncoding, dbc, getConnectionTimeout, getCursorUse, getDBEncoding, getMaxFieldSize, getMultiActiveResultset, getQueryTimeout, getTransactionIsolation, hasTransactionIsolation, isAutoBind, isAutoCommit, isAutoExtract, isConnected, isTransaction, isTransactionIsolation, maxStatementLength, open, queryTimeout, reset, rollback, setConnectionTimeout, setCursorUse, setDBEncoding, setMaxFieldSize, setMultiActiveResultset, setQueryTimeout, setTransactionIsolation
Enumerations
CursorUse
ODBC_CURSOR_USE_ALWAYS = Poco::Data::SessionImpl::CURSOR_USE_ALWAYS
ODBC_CURSOR_USE_IF_NEEDED = Poco::Data::SessionImpl::CURSOR_USE_IF_NEEDED
ODBC_CURSOR_USE_NEVER = Poco::Data::SessionImpl::CURSOR_USE_NEVER
TransactionCapability
ODBC_TXN_CAPABILITY_UNKNOWN = - 1
Constructors
SessionImpl
SessionImpl(
const std::string & connect,
std::size_t loginTimeout,
std::size_t maxFieldSize = ODBC_MAX_FIELD_SIZE,
bool autoBind = true,
bool autoExtract = true
);
Creates the SessionImpl. Opens a connection to the database. Throws NotConnectedException if connection was not succesful.
SessionImpl
SessionImpl(
const std::string & connect,
Poco::Any maxFieldSize = ODBC_MAX_FIELD_SIZE,
bool enforceCapability = false,
bool autoBind = true,
bool autoExtract = true
);
Deprecated. This function is deprecated and should no longer be used.
Creates the SessionImpl. Opens a connection to the database.
Destructor
~SessionImpl
~SessionImpl();
Destroys the SessionImpl.
Member Functions
addFeatures
void addFeatures();
Adds the ODBC session features and properties.
autoBind
void autoBind(
const std::string & param35,
bool val
);
Sets automatic binding for the session.
autoCommit
void autoCommit(
const std::string & param34,
bool val
);
Sets autocommit property for the session.
autoExtract
void autoExtract(
const std::string & param36,
bool val
);
Sets automatic extraction for the session.
begin
void begin();
Starts a transaction
canTransact
bool canTransact() const;
Returns true if connection is transaction-capable.
close
void close();
Closes the connection
commit
void commit();
Commits and ends a transaction
connectorName
const std::string & connectorName() const;
Returns the name of the connector.
createStatementImpl
Poco::SharedPtr < Poco::Data::StatementImpl > createStatementImpl();
Returns an ODBC StatementImpl
dataTypeInfo
Poco::Any dataTypeInfo(
const std::string & rName = ""
) const;
Returns the data types information.
dbEncoding
const std::string & dbEncoding() const;
Returns the database encoding.
dbc
const ConnectionHandle & dbc() const;
Returns the connection handle.
getConnectionTimeout
std::size_t getConnectionTimeout() const;
Returns the session connection timeout value.
getCursorUse
Poco::Any getCursorUse(
const std::string & param40
) const;
Returns the use of cursors.
getDBEncoding
Poco::Any getDBEncoding(
const std::string & param42
) const;
Returns the database encoding.
getMaxFieldSize
Poco::Any getMaxFieldSize(
const std::string & rName = ""
) const;
Returns the max field size (the default used when column size is unknown).
getMultiActiveResultset
bool getMultiActiveResultset(
const std::string & param44
) const;
Returns the multiple active resultset capability, if available. Returns false, if feature is not available.
getQueryTimeout
Poco::Any getQueryTimeout(
const std::string & param38
) const;
Returns the timeout (in seconds) for queries, or -1 if no timeout has been set.
getTransactionIsolation
Poco::UInt32 getTransactionIsolation() const;
Returns the transaction isolation level.
hasTransactionIsolation
bool hasTransactionIsolation(
Poco::UInt32
) const;
Returns true iff the transaction isolation level corresponding to the supplied bitmask is supported.
isAutoBind
bool isAutoBind(
const std::string & name = ""
) const;
Returns true if binding is automatic for this session.
isAutoCommit
bool isAutoCommit(
const std::string & name = ""
) const;
Returns autocommit property value.
isAutoExtract
bool isAutoExtract(
const std::string & name = ""
) const;
Returns true if extraction is automatic for this session.
isConnected
bool isConnected() const;
Returns true if session is connected
isTransaction
bool isTransaction() const;
Returns true iff a transaction is in progress.
isTransactionIsolation
bool isTransactionIsolation(
Poco::UInt32
) const;
Returns true iff the transaction isolation level corresponds to the supplied bitmask.
maxStatementLength
int maxStatementLength() const;
Returns maximum length of SQL statement allowed by driver.
open
void open(
const std::string & connect = ""
);
Opens a connection to the Database
queryTimeout
int queryTimeout() const;
Returns the timeout (in seconds) for queries, or -1 if no timeout has been set.
reset
void reset();
Do nothing
rollback
void rollback();
Aborts a transaction
setConnectionTimeout
void setConnectionTimeout(
std::size_t timeout
);
Sets the session connection timeout value.
setCursorUse
void setCursorUse(
const std::string & param39,
const Poco::Any & value
);
Sets the use of cursors:
- SQL_CUR_USE_ODBC - always
- SQL_CUR_USE_IF_NEEDED - if needed
- SQL_CUR_USE_DRIVER - never
setDBEncoding
void setDBEncoding(
const std::string & param41,
const Poco::Any & value
);
Sets the database encoding. Value must be of type std::string.
setMaxFieldSize
void setMaxFieldSize(
const std::string & rName,
const Poco::Any & rValue
);
Sets the max field size (the default used when column size is unknown).
setMultiActiveResultset
void setMultiActiveResultset(
const std::string & param43,
bool value
);
Sets the multiple active resultset capability, if available. Does nothing, if feature is not available.
setQueryTimeout
void setQueryTimeout(
const std::string & param37,
const Poco::Any & value
);
Sets the timeout (in seconds) for queries. Value must be of type int.
setTransactionIsolation
void setTransactionIsolation(
Poco::UInt32 ti
);
Sets the transaction isolation level.
Variables
ODBC_MAX_FIELD_SIZE
static const std::size_t ODBC_MAX_FIELD_SIZE = 1024u;