GRASS Programmer's Manual 6.4.1(2011)
db.c
Go to the documentation of this file.
00001 
00015 #include <grass/dbmi.h>
00016 #include <grass/glocale.h>
00017 #include "macros.h"
00018 
00028 dbDriver *db_start_driver_open_database(const char *drvname,
00029                                         const char *dbname)
00030 {
00031     dbHandle handle;
00032     dbDriver *driver;
00033 
00034     G_debug(3, "db_start_driver_open_database():\n  drvname = %s, dbname = %s",
00035             drvname, dbname);
00036 
00037     db_init_handle(&handle);
00038 
00039     driver = db_start_driver(drvname);
00040     if (driver == NULL) {
00041         G_warning(_("Unable to start driver <%s>"), drvname);
00042         return NULL;
00043     }
00044     db_set_handle(&handle, dbname, NULL);
00045     if (db_open_database(driver, &handle) != DB_OK) {
00046         G_warning(_("Unable to open database <%s> by driver <%s>"),
00047                   dbname, drvname);
00048         db_shutdown_driver(driver);
00049         return NULL;
00050     }
00051 
00052     return driver;
00053 }
00054 
00062 int db_close_database_shutdown_driver(dbDriver * driver)
00063 {
00064     int status = db_close_database(driver);
00065     if (db_shutdown_driver(driver) != 0)
00066         status = DB_FAILED;
00067 
00068     return status;
00069 }
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines