OGRDataSource *OGRODBCDriver::Open( const char * pszFilename, int bUpdate ) { OGRODBCDataSource *poDS; if( !EQUALN(pszFilename,"ODBC:",5) ) return NULL; poDS = new OGRODBCDataSource(); if( !poDS->Open( pszFilename, bUpdate, TRUE ) ) { delete poDS; return NULL; } else return poDS; }
OGRDataSource *OGRODBCDriver::CreateDataSource( const char * pszName, char ** /* papszOptions */ ) { OGRODBCDataSource *poDS; if( !EQUALN(pszName,"ODBC:",5) ) return NULL; poDS = new OGRODBCDataSource(); if( !poDS->Open( pszName, TRUE, TRUE ) ) { delete poDS; CPLError( CE_Failure, CPLE_AppDefined, "ODBC driver doesn't currently support database creation.\n" "Please create database with the `createdb' command." ); return NULL; } return poDS; }
OGRDataSource *OGRODBCDriver::Open( const char * pszFilename, int bUpdate ) { OGRODBCDataSource *poDS; if( !EQUALN(pszFilename,"ODBC:",5) #ifdef WIN32 && !EQUAL(CPLGetExtension(pszFilename), "MDB") #endif ) return NULL; poDS = new OGRODBCDataSource(); if( !poDS->Open( pszFilename, bUpdate, TRUE ) ) { delete poDS; return NULL; } else return poDS; }