Logo ROOT   6.08/07
Reference Guide
List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
TODBCServer Class Reference

Definition at line 32 of file TODBCServer.h.

Public Member Functions

 TODBCServer (const char *db, const char *uid, const char *pw)
 Open a connection to a ODBC server. More...
 
virtual ~TODBCServer ()
 Close connection to MySQL DB server. More...
 
void Close (Option_t *opt="")
 Close connection to MySQL DB server. More...
 
Bool_t Commit ()
 Commit transaction. More...
 
Int_t CreateDataBase (const char *dbname)
 Create a database. Returns 0 if successful, non-zero otherwise. More...
 
Int_t DropDataBase (const char *dbname)
 Drop (i.e. More...
 
Bool_t Exec (const char *sql)
 Executes query which does not produce any results set Return kTRUE if successfull. More...
 
TSQLResultGetColumns (const char *dbname, const char *table, const char *wild=0)
 List all columns in specified table in the specified database. More...
 
TSQLResultGetDataBases (const char *wild=0)
 List all available databases. More...
 
Int_t GetMaxIdentifierLength ()
 returns maximum allowed length of identifier (table name, column name, index name) More...
 
TSQLTableInfoGetTableInfo (const char *tablename)
 Produces SQL table info Object must be deleted by user. More...
 
TSQLResultGetTables (const char *dbname, const char *wild=0)
 List all tables in the specified database. More...
 
TListGetTablesList (const char *wild=0)
 Return list of tables in database See TSQLServer::GetTablesList() for details. More...
 
Bool_t HasStatement () const
 
TSQLResultQuery (const char *sql)
 Execute SQL command. More...
 
Int_t Reload ()
 Reload permission tables. More...
 
Bool_t Rollback ()
 Rollback transaction. More...
 
Int_t SelectDataBase (const char *dbname)
 Select a database. More...
 
const char * ServerInfo ()
 Return server info. More...
 
Int_t Shutdown ()
 Shutdown the database server. More...
 
Bool_t StartTransaction ()
 Starts transaction. More...
 
TSQLStatementStatement (const char *sql, Int_t=100)
 Creates ODBC statement for provided query. More...
 
- Public Member Functions inherited from TSQLServer
virtual ~TSQLServer ()
 
virtual void EnableErrorOutput (Bool_t on=kTRUE)
 
const char * GetDB () const
 
const char * GetDBMS () const
 
virtual Int_t GetErrorCode () const
 returns error code of last operation if res==0, no error Each specific implementation of TSQLServer provides its own error coding More...
 
virtual const char * GetErrorMsg () const
 returns error message of last operation if no errors, return 0 Each specific implementation of TSQLServer provides its own error messages More...
 
const char * GetHost () const
 
Int_t GetPort () const
 
virtual Bool_t HasTable (const char *tablename)
 Tests if table of that name exists in database Return kTRUE, if table exists. More...
 
virtual Bool_t IsConnected () const
 
virtual Bool_t IsError () const
 
virtual Int_t Ping ()
 
virtual Bool_t PingVerify ()
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor. More...
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Clear (Option_t *="")
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare abstract method. More...
 
virtual void Copy (TObject &object) const
 Copy this to obj. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current pad. More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual Option_tGetOption () const
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
void InvertBit (UInt_t f)
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
Bool_t IsOnHeap () const
 
virtual Bool_t IsSortable () const
 
Bool_t IsZombie () const
 
virtual void ls (Option_t *option="") const
 The ls function lists the contents of a class on stdout. More...
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual void Print (Option_t *option="") const
 This method must be overridden when a class wants to print itself. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
void SetBit (UInt_t f)
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 

Static Public Member Functions

static TListGetDataSources ()
 Produce TList object with list of available ODBC data sources User must delete TList object aftewards Name of data source can be used later for connection: TSQLServer::Connect("odbcn://<data_source_name>", "user", "pass");. More...
 
static TListGetDrivers ()
 Produce TList object with list of available ODBC drivers User must delete TList object aftewards Name of driver can be used in connecting to data base in form TSQLServer::Connect("odbcd://DRIVER={<drivername>};DBQ=<dbname>;UID=user;PWD=pass;", 0, 0);. More...
 
static void PrintDataSources ()
 Print list of ODBC data sources in form: <name> : <options list>=""> More...
 
static void PrintDrivers ()
 Print list of ODBC drivers in form: <name> : <options list>=""> More...
 
- Static Public Member Functions inherited from TSQLServer
static TSQLServerConnect (const char *db, const char *uid, const char *pw)
 The db should be of the form: <dbms>://<host>[:<port>][/<database>], e.g. More...
 
static const char * GetFloatFormat ()
 return current printf format for float/double members, default "%e" More...
 
static void SetFloatFormat (const char *fmt="%e")
 set printf format for float/double members, default "%e" More...
 
- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 

Private Member Functions

Bool_t EndTransaction (Bool_t commit)
 Complete current transaction (commit = kTRUE) or rollback Switches on autocommit mode of ODBC driver. More...
 
Bool_t ExtractErrors (SQLRETURN retcode, const char *method)
 Extract errors, produced by last ODBC function call. More...
 

Static Private Member Functions

static TListListData (Bool_t isdrivers)
 Produce TList object with list of available ODBC drivers (isdrivers = kTRUE) or data sources (isdrivers = kFALSE) More...
 

Private Attributes

SQLHDBC fHdbc
 
SQLHENV fHenv
 
TString fServerInfo
 
TString fUserId
 

Additional Inherited Members

- Public Types inherited from TSQLServer
enum  ESQLDataTypes {
  kSQL_NONE = -1, kSQL_CHAR = 1, kSQL_VARCHAR = 2, kSQL_INTEGER = 3,
  kSQL_FLOAT = 4, kSQL_DOUBLE = 5, kSQL_NUMERIC = 6, kSQL_BINARY = 7,
  kSQL_TIMESTAMP = 8
}
 printf argument for floats and doubles, either "%f" or "%e" or "%10f" and so on More...
 
- Public Types inherited from TObject
enum  { kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kBitMask = 0x00ffffff }
 
enum  { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) }
 
enum  EStatusBits {
  kCanDelete = BIT(0), kMustCleanup = BIT(3), kObjInCanvas = BIT(3), kIsReferenced = BIT(4),
  kHasUUID = BIT(5), kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13)
}
 
- Protected Member Functions inherited from TSQLServer
 TSQLServer ()
 
void ClearError ()
 reset error fields More...
 
void SetError (Int_t code, const char *msg, const char *method=0)
 set new values for error fields if method is specified, displays error message More...
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 
void MakeZombie ()
 
- Protected Attributes inherited from TSQLServer
TString fDB
 
Int_t fErrorCode
 
TString fErrorMsg
 
Bool_t fErrorOut
 
TString fHost
 
Int_t fPort
 
TString fType
 
- Static Protected Attributes inherited from TSQLServer
static const char * fgFloatFmt = "%e"
 

#include <TODBCServer.h>

Inheritance diagram for TODBCServer:
[legend]

Constructor & Destructor Documentation

◆ TODBCServer()

TODBCServer::TODBCServer ( const char *  db,
const char *  uid,
const char *  pw 
)

Open a connection to a ODBC server.

The db arguments can be:

  1. Form "odbc://[user[:passwd]@]<host>[:<port>][/<database>][?Driver]", e.g.: "odbc://pcroot.cern.ch:3306/test?MySQL". Driver argument specifies ODBC driver, which should be used for connection. By default, MyODBC driver name is used. The uid is the username and pw the password that should be used for the connection. If uid and pw are not specified (==0), user and passwd arguments from URL will be used. Works only with MySQL ODBC, probably with PostrSQL ODBC.
  2. Form "odbcd://DRIVER={MyODBC};SERVER=pcroot.cern.ch;DATABASE=test;USER=user;PASSWORD=pass;OPTION=3;PORT=3306;" This is a form, which is accepted by SQLDriverConnect function of ODBC. Here some other arguments can be specified, which are not included in standard URL format.
  3. Form "odbcn://MySpecialConfig", where MySpecialConfig is entry, defined in user DSN (user data source). Here uid and pw should be always specified.

    Configuring unixODBC under Linux: http://www.unixodbc.org/odbcinst.html Remarks: for variants 1 & 2 it is enough to create/configure odbcinst.ini file. For variant 3 file odbc.ini should be created. Path to this files can be specified in environmental variables like export ODBCINI=/home/my/unixODBC/etc/odbc.ini export ODBCSYSINI=/home/my/unixODBC/etc

    Configuring MySQL ODBC under Windows. Installing ODBC driver for MySQL is enough to use it under Windows. Afer odbcd:// variant can be used with DRIVER={MySQL ODBC 3.51 Driver}; To configure User DSN, go into Start menu -> Settings -> Control panel -> Administrative tools-> Data Sources (ODBC).

    To install Oracle ODBC driver for Windows, one should download and install either complete Oracle client (~500 MB), or so-called Instant Client Basic and Instant Client ODBC (~20 MB together). Some remark about Instant Client: 1) Two additional DLLs are required: mfc71.dll & msver71.dll They can be found either in MS VC++ 7.1 Free Toolkit or downloaded from other Internet sites 2) ORACLE_HOME environment variable should be specified and point to location, where Instant Client files are extracted 3) Run odbc_install.exe from account with administrative rights 3) In $ORACLE_HOME/network/admin/ directory appropriate *.ora files like ldap.ora, sqlnet.ora, tnsnames.ora should be installed. Contact your Oracle administrator to get these files. After Oracle ODBC driver is installed, appropriate entry in ODBC drivers list like "Oracle in instantclient10_2" should appiar. Connection string example: "odbcd://DRIVER={Oracle in instantclient10_2};DBQ=db-test;UID=user_name;PWD=user_pass;";

Definition at line 81 of file TODBCServer.cxx.

◆ ~TODBCServer()

TODBCServer::~TODBCServer ( )
virtual

Close connection to MySQL DB server.

Definition at line 227 of file TODBCServer.cxx.

Member Function Documentation

◆ Close()

void TODBCServer::Close ( Option_t opt = "")
virtual

Close connection to MySQL DB server.

Implements TSQLServer.

Definition at line 378 of file TODBCServer.cxx.

◆ Commit()

Bool_t TODBCServer::Commit ( )
virtual

Commit transaction.

Reimplemented from TSQLServer.

Definition at line 862 of file TODBCServer.cxx.

◆ CreateDataBase()

Int_t TODBCServer::CreateDataBase ( const char *  dbname)
virtual

Create a database. Returns 0 if successful, non-zero otherwise.

Implements TSQLServer.

Definition at line 728 of file TODBCServer.cxx.

◆ DropDataBase()

Int_t TODBCServer::DropDataBase ( const char *  dbname)
virtual

Drop (i.e.

delete) a database. Returns 0 if successful, non-zero otherwise.

Implements TSQLServer.

Definition at line 739 of file TODBCServer.cxx.

◆ EndTransaction()

Bool_t TODBCServer::EndTransaction ( Bool_t  commit)
private

Complete current transaction (commit = kTRUE) or rollback Switches on autocommit mode of ODBC driver.

Definition at line 845 of file TODBCServer.cxx.

◆ Exec()

Bool_t TODBCServer::Exec ( const char *  sql)
virtual

Executes query which does not produce any results set Return kTRUE if successfull.

Reimplemented from TSQLServer.

Definition at line 413 of file TODBCServer.cxx.

◆ ExtractErrors()

Bool_t TODBCServer::ExtractErrors ( SQLRETURN  retcode,
const char *  method 
)
private

Extract errors, produced by last ODBC function call.

Definition at line 340 of file TODBCServer.cxx.

◆ GetColumns()

TSQLResult * TODBCServer::GetColumns ( const char *  dbname,
const char *  table,
const char *  wild = 0 
)
virtual

List all columns in specified table in the specified database.

Wild is for wildcarding "t%" list all columns starting with "t". Returns a pointer to a TSQLResult object if successful, 0 otherwise. The result object must be deleted by the user.

Implements TSQLServer.

Definition at line 690 of file TODBCServer.cxx.

◆ GetDataBases()

TSQLResult * TODBCServer::GetDataBases ( const char *  wild = 0)
virtual

List all available databases.

Wild is for wildcarding "t%" list all databases starting with "t". Returns a pointer to a TSQLResult object if successful, 0 otherwise. The result object must be deleted by the user.

Implements TSQLServer.

Definition at line 454 of file TODBCServer.cxx.

◆ GetDataSources()

TList * TODBCServer::GetDataSources ( )
static

Produce TList object with list of available ODBC data sources User must delete TList object aftewards Name of data source can be used later for connection: TSQLServer::Connect("odbcn://<data_source_name>", "user", "pass");.

Definition at line 317 of file TODBCServer.cxx.

◆ GetDrivers()

TList * TODBCServer::GetDrivers ( )
static

Produce TList object with list of available ODBC drivers User must delete TList object aftewards Name of driver can be used in connecting to data base in form TSQLServer::Connect("odbcd://DRIVER={<drivername>};DBQ=<dbname>;UID=user;PWD=pass;", 0, 0);.

Definition at line 291 of file TODBCServer.cxx.

◆ GetMaxIdentifierLength()

Int_t TODBCServer::GetMaxIdentifierLength ( )
virtual

returns maximum allowed length of identifier (table name, column name, index name)

Reimplemented from TSQLServer.

Definition at line 711 of file TODBCServer.cxx.

◆ GetTableInfo()

TSQLTableInfo * TODBCServer::GetTableInfo ( const char *  tablename)
virtual

Produces SQL table info Object must be deleted by user.

Reimplemented from TSQLServer.

Definition at line 547 of file TODBCServer.cxx.

◆ GetTables()

TSQLResult * TODBCServer::GetTables ( const char *  dbname,
const char *  wild = 0 
)
virtual

List all tables in the specified database.

Wild is for wildcarding "t%" list all tables starting with "t". Returns a pointer to a TSQLResult object if successful, 0 otherwise. The result object must be deleted by the user.

Implements TSQLServer.

Definition at line 467 of file TODBCServer.cxx.

◆ GetTablesList()

TList * TODBCServer::GetTablesList ( const char *  wild = 0)
virtual

Return list of tables in database See TSQLServer::GetTablesList() for details.

Reimplemented from TSQLServer.

Definition at line 513 of file TODBCServer.cxx.

◆ HasStatement()

Bool_t TODBCServer::HasStatement ( ) const
inlinevirtual

Reimplemented from TSQLServer.

Definition at line 59 of file TODBCServer.h.

◆ ListData()

TList * TODBCServer::ListData ( Bool_t  isdrivers)
staticprivate

Produce TList object with list of available ODBC drivers (isdrivers = kTRUE) or data sources (isdrivers = kFALSE)

Definition at line 237 of file TODBCServer.cxx.

◆ PrintDataSources()

void TODBCServer::PrintDataSources ( )
static

Print list of ODBC data sources in form: <name> : <options list>="">

Definition at line 326 of file TODBCServer.cxx.

◆ PrintDrivers()

void TODBCServer::PrintDrivers ( )
static

Print list of ODBC drivers in form: <name> : <options list>="">

Definition at line 300 of file TODBCServer.cxx.

◆ Query()

TSQLResult * TODBCServer::Query ( const char *  sql)
virtual

Execute SQL command.

Result object must be deleted by the user. Returns a pointer to a TSQLResult object if successful, 0 otherwise. The result object must be deleted by the user.

Implements TSQLServer.

Definition at line 391 of file TODBCServer.cxx.

◆ Reload()

Int_t TODBCServer::Reload ( )
virtual

Reload permission tables.

Returns 0 if successful, non-zero otherwise. User must have reload permissions.

Implements TSQLServer.

Definition at line 750 of file TODBCServer.cxx.

◆ Rollback()

Bool_t TODBCServer::Rollback ( )
virtual

Rollback transaction.

Reimplemented from TSQLServer.

Definition at line 870 of file TODBCServer.cxx.

◆ SelectDataBase()

Int_t TODBCServer::SelectDataBase ( const char *  db)
virtual

Select a database.

Returns 0 if successful, non-zero otherwise. Not all RDBMS support selecting of database (catalog) after connecting Normally user should specify database name at time of connection

Implements TSQLServer.

Definition at line 436 of file TODBCServer.cxx.

◆ ServerInfo()

const char * TODBCServer::ServerInfo ( )
virtual

Return server info.

Implements TSQLServer.

Definition at line 771 of file TODBCServer.cxx.

◆ Shutdown()

Int_t TODBCServer::Shutdown ( )
virtual

Shutdown the database server.

Returns 0 if successful, non-zero otherwise. User must have shutdown permissions.

Implements TSQLServer.

Definition at line 761 of file TODBCServer.cxx.

◆ StartTransaction()

Bool_t TODBCServer::StartTransaction ( )
virtual

Starts transaction.

Check for transaction support. Switch off autocommitment mode.

Reimplemented from TSQLServer.

Definition at line 818 of file TODBCServer.cxx.

◆ Statement()

TSQLStatement * TODBCServer::Statement ( const char *  sql,
Int_t  bufsize = 100 
)
virtual

Creates ODBC statement for provided query.

See TSQLStatement class for more details.

Reimplemented from TSQLServer.

Definition at line 782 of file TODBCServer.cxx.

Member Data Documentation

◆ fHdbc

SQLHDBC TODBCServer::fHdbc
private

Definition at line 36 of file TODBCServer.h.

◆ fHenv

SQLHENV TODBCServer::fHenv
private

Definition at line 35 of file TODBCServer.h.

◆ fServerInfo

TString TODBCServer::fServerInfo
private

Definition at line 37 of file TODBCServer.h.

◆ fUserId

TString TODBCServer::fUserId
private

Definition at line 38 of file TODBCServer.h.


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