Poco::Data::ODBC

class SessionImpl

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

ODBC_TXN_CAPABILITY_FALSE = 0

ODBC_TXN_CAPABILITY_TRUE = 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
);

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 inline

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 inline

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 inline

const std::string & connectorName() const;

Returns the name of the connector.

createStatementImpl

Poco::SharedPtr < Poco::Data::StatementImpl > createStatementImpl();

Returns an ODBC StatementImpl

dataTypeInfo inline

Poco::Any dataTypeInfo(
    const std::string & rName = ""
) const;

Returns the data types information.

dbEncoding inline

const std::string & dbEncoding() const;

Returns the database encoding.

dbc inline

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 inline

Poco::Any getDBEncoding(
    const std::string & param42
) const;

Returns the database encoding.

getMaxFieldSize inline

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 inline

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 inline

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 inline

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 inline

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 inline

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 inline

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 inline

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

static const std::size_t ODBC_MAX_FIELD_SIZE = 1024u;