• Blog posts

    Bio

    Question:

    How can I resolve the MapThat Scale Print error – Database Provider is not Configured?

     

    Answer:

    As soon as the user presses the Scale Print Tool within MapThat, the application will check that all the MapThat Scale Print Control Tables are correct. Specifically, it will check that if you are using any Spatial Tables for printing (e.g. OS MasterMap) that the application is correctly referencing those tables.

    Within your MapThat Database there is a Control Table called MT_MAP_COLOURSETS as show below:

     

    The Values shown in the DESCRIPTION column are used to populate the ‘Mapping’ dropdown list within the Scale Print Tool.

      

    When the user makes a choice, e.g. OS MasterMap Colour, the application then checks that the DB_ID value (here it is 39) matches a Valid Database as defined within the VE_DBCONNECTIONS table:

    If all the DB_ID values in the MT_MAP_COLOURSETS table correctly match a DB_ID in the VE_DBCONNECTIONS table, then the Scale Print Tool will open successfully.

    You will also need to check that the DRIVER value in the DB Connection string matches a SQL Driver name that is installed on the Server.

     faq1.jpg

    For example, if in the ScalePrint.PY the DRIVER value is “SQL Server Native Client 10.0”, then you will need to ensure, that

    1. You have that SQL Driver installed on the Server, and
    2. that the DB_Connections Table has the same value in the DB_PROVIDER field for your OSMM Database connection. faq1.png

    If this is not configured then you will receive an error message stating that the Database Provider is not configured.

     faq3.jpg

    NOTE –

    Even the Basemaps, which don’t use a Spatial Table for printing, such as BING ROAD, OSM, AERIAL etc…. will need to have a valid DB_ID value. The corresponding Database is not used to generate the background mapping, as in these instances the mapping is provided via the specific Basemap API, however any valid DB_ID value must be provided.

     

    So for the Basemap records simply choose a valid DB_ID record in the VE_DBCONNECTIONS table (e.g. I have chosen 1). If these records do not have a valid DB_ID value then the user will get the following message: