00001 #include <grass/dbmi.h> 00002 #include "macros.h" 00003 00010 dbDriver * 00011 db_start_driver_open_database ( char *drvname, char *dbname ) 00012 { 00013 dbHandle handle; 00014 dbDriver *driver; 00015 00016 G_debug ( 3, "db_start_driver_open_database():\n drvname = %s, dbname = %s", drvname, dbname ); 00017 00018 db_init_handle (&handle); 00019 00020 driver = db_start_driver(drvname); 00021 if ( driver == NULL) { 00022 G_warning ( "Cannot open driver '%s'", drvname); 00023 return NULL; 00024 } 00025 db_set_handle (&handle, dbname, NULL); 00026 if (db_open_database(driver, &handle) != DB_OK) { 00027 G_warning ( "Cannot open database '%s'", dbname); 00028 db_shutdown_driver(driver); 00029 return NULL; 00030 } 00031 00032 return driver; 00033 } 00034 00041 int 00042 db_close_database_shutdown_driver ( dbDriver *driver ) 00043 { 00044 db_close_database(driver); 00045 db_shutdown_driver(driver); 00046 00047 return DB_OK; 00048 } 00049