Go to the documentation of this file.
30 #ifndef CPL_ODBC_H_INCLUDED
31 #define CPL_ODBC_H_INCLUDED
46 # define ODBC_FILENAME_MAX PATH_MAX
48 # define ODBC_FILENAME_MAX (255 + 1)
63 char m_szPathOut[ODBC_FILENAME_MAX];
64 char m_szError[SQL_MAX_MESSAGE_LENGTH];
90 int InstallDriver(
const char* pszDriver,
const char* pszPathIn,
91 WORD fRequest = ODBC_INSTALL_COMPLETE );
109 int RemoveDriver(
const char* pszDriverName,
int fRemoveDSN = FALSE );
140 #if defined(_MSC_VER) && !defined(SQLULEN) && !defined(_WIN64)
141 # define MISSING_SQLULEN
145 #if !defined(MISSING_SQLULEN)
147 # define CPL_SQLULEN SQLULEN
148 # define CPL_SQLLEN SQLLEN
150 # define CPL_SQLULEN SQLUINTEGER
151 # define CPL_SQLLEN SQLINTEGER
162 char m_szLastError[SQL_MAX_MESSAGE_LENGTH + 1];
165 int m_bInTransaction;
172 int EstablishSession(
const char *pszDSN,
173 const char *pszUserid,
174 const char *pszPassword );
175 const char *GetLastError();
179 int ClearTransaction();
180 int BeginTransaction();
181 int CommitTransaction();
182 int RollbackTransaction();
190 int Failed(
int, HSTMT = NULL );
211 SQLSMALLINT m_nColCount;
212 char **m_papszColNames;
213 SQLSMALLINT *m_panColType;
214 char **m_papszColTypeNames;
215 CPL_SQLULEN *m_panColSize;
216 SQLSMALLINT *m_panColPrecision;
217 SQLSMALLINT *m_panColNullable;
218 char **m_papszColColumnDef;
220 char **m_papszColValues;
221 CPL_SQLLEN *m_panColValueLengths;
225 char *m_pszStatement;
226 size_t m_nStatementMax;
227 size_t m_nStatementLen;
238 void AppendEscaped(
const char * );
239 void Append(
const char * );
241 void Append(
double );
244 const
char *GetCommand() {
return m_pszStatement; }
246 int ExecuteSQL(
const char * = NULL );
249 int Fetch(
int nOrientation = SQL_FETCH_NEXT,
251 void ClearColumnData();
254 const char *GetColName(
int );
255 short GetColType(
int );
256 const char *GetColTypeName(
int );
257 short GetColSize(
int );
258 short GetColPrecision(
int );
259 short GetColNullable(
int );
260 const char *GetColColumnDef(
int );
262 int GetColId(
const char * );
263 const char *GetColData(
int,
const char * = NULL );
264 const char *GetColData(
const char *,
const char * = NULL );
265 int GetColDataLength(
int );
266 int GetRowCountAffected();
269 int GetColumns(
const char *pszTable,
270 const char *pszCatalog = NULL,
271 const char *pszSchema = NULL );
272 int GetPrimaryKeys(
const char *pszTable,
273 const char *pszCatalog = NULL,
274 const char *pszSchema = NULL );
276 int GetTables(
const char *pszCatalog = NULL,
277 const char *pszSchema = NULL );
279 void DumpResult( FILE *fp,
int bShowSchema = FALSE );
282 static SQLSMALLINT GetTypeMapping( SQLSMALLINT );
284 int CollectResultsInfo();
int InstallDriver(const char *pszDriver, const char *pszPathIn, WORD fRequest=ODBC_INSTALL_COMPLETE)
Definition: cpl_odbc.cpp:74
const char * GetColTypeName(int)
Definition: cpl_odbc.cpp:726
#define CPL_PRINT_FUNC_FORMAT(format_idx, arg_idx)
Definition: cpl_port.h:967
char * CPLRecodeFromWChar(const wchar_t *pwszSource, const char *pszSrcEncoding, const char *pszDstEncoding)
Definition: cpl_recode.cpp:149
CPLODBCSession()
Definition: cpl_odbc.cpp:161
CPLString & Printf(const char *pszFormat,...)
Definition: cplstring.cpp:59
int CollectResultsInfo()
Definition: cpl_odbc.cpp:559
void * CPLCalloc(size_t, size_t)
Definition: cpl_conv.cpp:128
short GetColNullable(int)
Definition: cpl_odbc.cpp:790
int RollbackTransaction()
Definition: cpl_odbc.cpp:302
static SQLSMALLINT GetTypeMapping(SQLSMALLINT)
Definition: cpl_odbc.cpp:1792
int GetTables(const char *pszCatalog=NULL, const char *pszSchema=NULL)
Definition: cpl_odbc.cpp:1620
int CommitTransaction()
Definition: cpl_odbc.cpp:279
const char * GetColColumnDef(int)
Definition: cpl_odbc.cpp:814
Convenient string class based on std::string.
Definition: cpl_string.h:338
int GetPrimaryKeys(const char *pszTable, const char *pszCatalog=NULL, const char *pszSchema=NULL)
Definition: cpl_odbc.cpp:1567
void * CPLRealloc(void *, size_t)
Definition: cpl_conv.cpp:215
#define EQUAL(a, b)
Definition: cpl_port.h:622
void Clear()
Definition: cpl_odbc.cpp:1350
static CPLString GetTypeName(int)
Definition: cpl_odbc.cpp:1725
int EstablishSession(const char *pszDSN, const char *pszUserid, const char *pszPassword)
Definition: cpl_odbc.cpp:370
#define CPLAssert(expr)
Definition: cpl_error.h:182
short GetColSize(int)
Definition: cpl_odbc.cpp:747
HSTMT GetStatement()
Definition: cpl_odbc.h:234
int Failed(int, HSTMT=NULL)
Definition: cpl_odbc.cpp:328
int GetColId(const char *)
Definition: cpl_odbc.cpp:1133
HDBC GetConnection()
Definition: cpl_odbc.h:192
HENV GetEnvironment()
Definition: cpl_odbc.h:194
void DumpResult(FILE *fp, int bShowSchema=FALSE)
Definition: cpl_odbc.cpp:1667
const char * GetColData(int, const char *=NULL)
Definition: cpl_odbc.cpp:1059
#define CPL_ENC_UTF8
Definition: cpl_string.h:292
int BeginTransaction()
Definition: cpl_odbc.cpp:248
void CPLDebug(const char *, const char *,...)
Definition: cpl_error.cpp:492
void AppendEscaped(const char *)
Definition: cpl_odbc.cpp:1228
~CPLODBCStatement()
Definition: cpl_odbc.cpp:492
void * CPLMalloc(size_t)
Definition: cpl_conv.cpp:158
int Fetch(int nOrientation=SQL_FETCH_NEXT, int nOffset=0)
Definition: cpl_odbc.cpp:847
~CPLODBCSession()
Definition: cpl_odbc.cpp:175
Definition: cpl_odbc.h:206
int GetRowCountAffected()
Definition: cpl_odbc.cpp:638
int GetColDataLength(int)
Definition: cpl_odbc.cpp:1107
void CPLError(CPLErr eErrClass, CPLErrorNum err_no, const char *fmt,...)
Definition: cpl_error.cpp:215
Definition: cpl_odbc.h:161
const char * GetLastError() const
Definition: cpl_odbc.h:124
const char * GetPathOut() const
Definition: cpl_odbc.h:118
int CloseSession()
Definition: cpl_odbc.cpp:186
CPLODBCStatement(CPLODBCSession *)
Definition: cpl_odbc.cpp:463
void * VSIMalloc(size_t)
Definition: cpl_vsisimple.cpp:548
void CSLDestroy(char **papszStrList)
Definition: cpl_string.cpp:200
DWORD GetLastErrorCode() const
Definition: cpl_odbc.h:131
#define CPL_ENC_UCS2
Definition: cpl_string.h:296
#define CPL_UNUSED
Definition: cpl_port.h:1008
#define CPL_FORMAT_STRING(arg)
Definition: cpl_port.h:989
short GetColType(int)
Definition: cpl_odbc.cpp:701
int ExecuteSQL(const char *=NULL)
Definition: cpl_odbc.cpp:520
int ClearTransaction()
Definition: cpl_odbc.cpp:214
int Appendf(const char *,...)
Definition: cpl_odbc.cpp:1315
int GetUsageCount() const
Definition: cpl_odbc.h:112
int GetColumns(const char *pszTable, const char *pszCatalog=NULL, const char *pszSchema=NULL)
Definition: cpl_odbc.cpp:1426
Definition: cpl_odbc.h:61
int IsInTransaction()
Definition: cpl_odbc.h:184
void Append(const char *)
Definition: cpl_odbc.cpp:1190
char * CPLStrdup(const char *)
Definition: cpl_conv.cpp:284
const char * GetColName(int)
Definition: cpl_odbc.cpp:675
int GetColCount()
Definition: cpl_odbc.cpp:656
short GetColPrecision(int)
Definition: cpl_odbc.cpp:769
const char * GetLastError()
Definition: cpl_odbc.cpp:446
int RemoveDriver(const char *pszDriverName, int fRemoveDSN=FALSE)
Definition: cpl_odbc.cpp:136
#define CPLFree
Definition: cpl_conv.h:81
void ClearColumnData()
Definition: cpl_odbc.cpp:1148
#define CPLE_AppDefined
Definition: cpl_error.h:100
Generated for GDAL by
1.8.17.