Harlinn.Windows 0.1
Loading...
Searching...
No Matches
Harlinn::ODBC::Environment Class Reference

#include <HODBC.h>

Inheritance diagram for Harlinn::ODBC::Environment:
[legend]
Collaboration diagram for Harlinn::ODBC::Environment:
[legend]

Public Types

using Base = SqlHandle<ODBC::HandleType::Environment>
 

Public Member Functions

constexpr Environment () noexcept
 
 Environment (ODBC::Version version) noexcept
 
ODBC::Version Version () const
 
void SetVersion (ODBC::Version version) const
 
ODBC::ConnectionPooling ConnectionPooling () const
 
void SetConnectionPooling (ODBC::ConnectionPooling connectionPooling) const
 
Result DataSources (ODBC::FetchOrientation direction, SQLWCHAR *datasourceName, SQLSMALLINT datasourceNameMaxLength, SQLSMALLINT *datasourceNameActualLength, SQLWCHAR *datasourceDescription, SQLSMALLINT datasourceDescriptionMaxLength, SQLSMALLINT *datasourceDescriptionActualLength) const
 
Result DataSources (ODBC::FetchOrientation direction, SQLCHAR *datasourceName, SQLSMALLINT datasourceNameMaxLength, SQLSMALLINT *datasourceNameActualLength, SQLCHAR *datasourceDescription, SQLSMALLINT datasourceDescriptionMaxLength, SQLSMALLINT *datasourceDescriptionActualLength) const
 
std::vector< ODBC::DataSourceDataSources (ODBC::FetchOrientation direction=ODBC::FetchOrientation::First) const
 
Result Drivers (ODBC::FetchOrientation direction, SQLWCHAR *driverDescription, SQLSMALLINT driverDescriptionMaxLength, SQLSMALLINT *driverDescriptionActualLength, SQLWCHAR *driverAttributes, SQLSMALLINT driverAttributesMaxLength, SQLSMALLINT *driverAttributesActualLength) const
 
std::vector< ODBC::DriverDrivers (ODBC::FetchOrientation direction) const
 
Result EndTransaction (ODBC::TransactionCompletionType completionType) const
 
Result Commit () const
 
Result Rollback () const
 
ODBC::Connection CreateConnection () const
 
template<SimpleWideStringLike StringT>
ODBC::Connection Connect (const StringT &datasourceName) const
 
template<SimpleWideStringLike StringT1, SimpleWideStringLike StringT2>
ODBC::Connection Connect (const StringT1 &datasourceName, const StringT2 &userName) const
 
template<SimpleWideStringLike StringT1, SimpleWideStringLike StringT2, SimpleWideStringLike StringT3>
ODBC::Connection Connect (const StringT1 &datasourceName, const StringT2 &userName, const StringT3 &authenticationString) const
 
- Public Member Functions inherited from Harlinn::ODBC::SqlHandle< ODBC::HandleType::Environment >
constexpr SqlHandle () noexcept
 
 SqlHandle (const SqlHandle &other)=delete
 
constexpr SqlHandle (SqlHandle &&other) noexcept
 
 ~SqlHandle ()
 
SqlHandleoperator= (const SqlHandle &other)=delete
 
constexpr SqlHandleoperator= (SqlHandle &&other) noexcept
 
constexpr SQLHANDLE Handle () const noexcept
 
void Close () noexcept
 
Result Cancel () const
 
Result CompleteAsync (RETCODE *asyncRetCode) const
 

Static Public Member Functions

static Environment Create (ODBC::Version version=ODBC::Version::Version3_80)
 
static ODBC::ConnectionPooling GlobalConnectionPooling ()
 
static void SetGlobalConnectionPooling (ODBC::ConnectionPooling connectionPooling)
 

Protected Member Functions

void SetAttribute (SQLINTEGER attributeId, SQLPOINTER value, SQLINTEGER valueLength) const
 
void GetAttribute (SQLINTEGER attributeId, SQLPOINTER value, SQLINTEGER allocatedLength, SQLINTEGER *valueLength) const
 
void SetUInt32Attribute (SQLINTEGER attributeId, UInt32 value) const
 
UInt32 GetUInt32Attribute (SQLINTEGER attributeId) const
 
- Protected Member Functions inherited from Harlinn::ODBC::SqlHandle< ODBC::HandleType::Environment >
constexpr SqlHandle (SQLHANDLE sqlHandle, bool destructorClosesHandle) noexcept
 
void SetHandle (SQLHANDLE sqlHandle, bool destructorClosesHandle)
 
void ThrowException (SQLRETURN sqlReturn) const
 
void ThrowException (SQLRETURN sqlReturn, const wchar_t *function, const wchar_t *file, int line) const
 

Static Protected Member Functions

static void SetGlobalAttribute (SQLINTEGER attributeId, SQLPOINTER value, SQLINTEGER valueLength)
 
static void GetGlobalAttribute (SQLINTEGER attributeId, SQLPOINTER value, SQLINTEGER allocatedLength, SQLINTEGER *valueLength)
 
static void SetGlobalUInt32Attribute (SQLINTEGER attributeId, UInt32 value)
 
static UInt32 GetGlobalUInt32Attribute (SQLINTEGER attributeId)
 
- Static Protected Member Functions inherited from Harlinn::ODBC::SqlHandle< ODBC::HandleType::Environment >
static SQLHANDLE AllocateHandle (SQLHANDLE inputHandle=SQL_NULL_HANDLE, ODBC::HandleType handleType=HandleType)
 

Private Member Functions

constexpr Environment (SQLHANDLE sqlHandle, bool destructorClosesHandle=true) noexcept
 

Additional Inherited Members

- Static Public Attributes inherited from Harlinn::ODBC::SqlHandle< ODBC::HandleType::Environment >
static constexpr ODBC::HandleType HandleType
 
static constexpr SQLHANDLE InvalidHandle
 

Detailed Description

The Environment class is a wrapper for the ODBC environment handle.

An environment is a global context in which to access data; associated with an environment is any information that is global in nature, such as:

  • The environment's state
  • The current environment-level diagnostics
  • The handles of connections currently allocated on the environment
  • The current settings of each environment attribute

Within a piece of code that implements ODBC (the Driver Manager or a driver), an environment handle identifies a structure to contain this information.

Environment handles are not frequently used in ODBC applications. They are always used in calls to SQLDataSources and SQLDrivers and sometimes used in calls to SQLAllocHandle, SQLEndTran, SQLFreeHandle, SQLGetDiagField, and SQLGetDiagRec.

Each piece of code that implements ODBC (the Driver Manager or a driver) contains one or more environment handles. For example, the Driver Manager maintains a separate environment handle for each application that is connected to it. Environment handles are allocated with SQLAllocHandle and freed with SQLFreeHandle.

Member Typedef Documentation

◆ Base

Constructor & Destructor Documentation

◆ Environment() [1/3]

Harlinn::ODBC::Environment::Environment ( )
inlineconstexprnoexcept

◆ Environment() [2/3]

Harlinn::ODBC::Environment::Environment ( ODBC::Version version)
inlineexplicitnoexcept

◆ Environment() [3/3]

Harlinn::ODBC::Environment::Environment ( SQLHANDLE sqlHandle,
bool destructorClosesHandle = true )
inlineexplicitconstexprprivatenoexcept

Member Function Documentation

◆ Commit()

Result Harlinn::ODBC::Environment::Commit ( ) const
inline

◆ Connect() [1/3]

template<SimpleWideStringLike StringT>
ODBC::Connection Harlinn::ODBC::Environment::Connect ( const StringT & datasourceName) const
inline

◆ Connect() [2/3]

template<SimpleWideStringLike StringT1, SimpleWideStringLike StringT2>
ODBC::Connection Harlinn::ODBC::Environment::Connect ( const StringT1 & datasourceName,
const StringT2 & userName ) const
inline

◆ Connect() [3/3]

template<SimpleWideStringLike StringT1, SimpleWideStringLike StringT2, SimpleWideStringLike StringT3>
ODBC::Connection Harlinn::ODBC::Environment::Connect ( const StringT1 & datasourceName,
const StringT2 & userName,
const StringT3 & authenticationString ) const
inline

◆ ConnectionPooling()

ODBC::ConnectionPooling Harlinn::ODBC::Environment::ConnectionPooling ( ) const
inline

◆ Create()

static Environment Harlinn::ODBC::Environment::Create ( ODBC::Version version = ODBC::Version::Version3_80)
inlinestatic

◆ CreateConnection()

ODBC::Connection Harlinn::ODBC::Environment::CreateConnection ( ) const
inline

◆ DataSources() [1/3]

Result Harlinn::ODBC::Environment::DataSources ( ODBC::FetchOrientation direction,
SQLCHAR * datasourceName,
SQLSMALLINT datasourceNameMaxLength,
SQLSMALLINT * datasourceNameActualLength,
SQLCHAR * datasourceDescription,
SQLSMALLINT datasourceDescriptionMaxLength,
SQLSMALLINT * datasourceDescriptionActualLength ) const
inline

◆ DataSources() [2/3]

Result Harlinn::ODBC::Environment::DataSources ( ODBC::FetchOrientation direction,
SQLWCHAR * datasourceName,
SQLSMALLINT datasourceNameMaxLength,
SQLSMALLINT * datasourceNameActualLength,
SQLWCHAR * datasourceDescription,
SQLSMALLINT datasourceDescriptionMaxLength,
SQLSMALLINT * datasourceDescriptionActualLength ) const
inline

◆ DataSources() [3/3]

std::vector< ODBC::DataSource > Harlinn::ODBC::Environment::DataSources ( ODBC::FetchOrientation direction = ODBC::FetchOrientation::First) const
inline

◆ Drivers() [1/2]

std::vector< ODBC::Driver > Harlinn::ODBC::Environment::Drivers ( ODBC::FetchOrientation direction) const
inline

◆ Drivers() [2/2]

Result Harlinn::ODBC::Environment::Drivers ( ODBC::FetchOrientation direction,
SQLWCHAR * driverDescription,
SQLSMALLINT driverDescriptionMaxLength,
SQLSMALLINT * driverDescriptionActualLength,
SQLWCHAR * driverAttributes,
SQLSMALLINT driverAttributesMaxLength,
SQLSMALLINT * driverAttributesActualLength ) const
inline

◆ EndTransaction()

Result Harlinn::ODBC::Environment::EndTransaction ( ODBC::TransactionCompletionType completionType) const
inline

◆ GetAttribute()

void Harlinn::ODBC::Environment::GetAttribute ( SQLINTEGER attributeId,
SQLPOINTER value,
SQLINTEGER allocatedLength,
SQLINTEGER * valueLength ) const
inlineprotected

◆ GetGlobalAttribute()

static void Harlinn::ODBC::Environment::GetGlobalAttribute ( SQLINTEGER attributeId,
SQLPOINTER value,
SQLINTEGER allocatedLength,
SQLINTEGER * valueLength )
inlinestaticprotected

◆ GetGlobalUInt32Attribute()

static UInt32 Harlinn::ODBC::Environment::GetGlobalUInt32Attribute ( SQLINTEGER attributeId)
inlinestaticprotected

◆ GetUInt32Attribute()

UInt32 Harlinn::ODBC::Environment::GetUInt32Attribute ( SQLINTEGER attributeId) const
inlineprotected

◆ GlobalConnectionPooling()

static ODBC::ConnectionPooling Harlinn::ODBC::Environment::GlobalConnectionPooling ( )
inlinestatic

◆ Rollback()

Result Harlinn::ODBC::Environment::Rollback ( ) const
inline

◆ SetAttribute()

void Harlinn::ODBC::Environment::SetAttribute ( SQLINTEGER attributeId,
SQLPOINTER value,
SQLINTEGER valueLength ) const
inlineprotected

◆ SetConnectionPooling()

void Harlinn::ODBC::Environment::SetConnectionPooling ( ODBC::ConnectionPooling connectionPooling) const
inline

◆ SetGlobalAttribute()

static void Harlinn::ODBC::Environment::SetGlobalAttribute ( SQLINTEGER attributeId,
SQLPOINTER value,
SQLINTEGER valueLength )
inlinestaticprotected

◆ SetGlobalConnectionPooling()

static void Harlinn::ODBC::Environment::SetGlobalConnectionPooling ( ODBC::ConnectionPooling connectionPooling)
inlinestatic

◆ SetGlobalUInt32Attribute()

static void Harlinn::ODBC::Environment::SetGlobalUInt32Attribute ( SQLINTEGER attributeId,
UInt32 value )
inlinestaticprotected

◆ SetUInt32Attribute()

void Harlinn::ODBC::Environment::SetUInt32Attribute ( SQLINTEGER attributeId,
UInt32 value ) const
inlineprotected

◆ SetVersion()

void Harlinn::ODBC::Environment::SetVersion ( ODBC::Version version) const
inline

◆ Version()

ODBC::Version Harlinn::ODBC::Environment::Version ( ) const
inline

The documentation for this class was generated from the following file: