Web del MiraMon

Bases de dades al MiraMon


Accés a bases de dades amb el MiraMon Què és l'ODBC i com funciona
Limitacions del format DBF i la necessitat d'una "DBF estesa" El format "DBF estesa"
Transformació d'una "DBF estesa" a una "DBF clàssica"

Accés a bases de dades amb el MiraMon

El MiraMon permet accedir a qualsevol base de dades en format DBF III, III+ i IV, així com també a dades tabulars (físiques o resultat d'expressions de consulta o càlcul) contingudes en altres formats de fitxers (com ara .xls, .mdb, etc) i en bases de dades (com ara MS-Access, Oracle, SQL Server, DB2, Excel i molts d'altres); en aquests darrers casos, caldrà que existeixin i estiguin instal·lats els corresponents drivers ODBC i, amb l'excepció de l'MDB (que admet accés directe des del MiraMon), que es creï un fitxer DSN per a accedir a les dades. En versions anteriors a la versió 4 del MiraMon, el format DBF era l'únic que s'emprava per a les bases de dades.

A diferència d'altres programes, es poden construir les capes del MiraMon amb consultes simultànies a diferents bases de dades, en diferents formats, de forma local (en el propi ordinador) o remota (bases de dades en servidors corporatius, a la xarxa local, la intranet o Internet).


El MiraMon utilitza, per a poder llegir les diferents bases de dades, la tecnologia ODBC (Open Database Connectivity) de Microsoft que permet accedir a diferents bases de dades, relacionals i no relacionals, tant per a llegir com per a modificar la informació. L'ODBC ofereix un entorn únic i integrat per a què qualsevol aplicació, com el MiraMon, pugui accedir a un gran nombre de formats de bases de dades diferents.

Es pot localitzar l'eina de configuració de la tecnologia ODBC en les opcions de configuració de l'ordinador, sota el nom de Orígens de dades ODBC, al Tauler de Control (menú Inici | Configuració).

Els components ODBC s'instal·len de forma automàtica en l'ordinador quan s'instal·len la majoria de productes Microsoft, com ara Office, SQL Server, etc. A partir de la primera versió de Win2000 aquesta tecnologia forma part del sistema operatiu i, per tant, no cal instal·lar-la de forma expressa.

Cal comprovar, en el tauler de control (o en les eines administratives en Win2000), que aparegui l'entrada Orígens de dades ODBC (o bé Font de dades ODBC, o també ODBC Data Sources). Si no apareix, cal instal·lar els components necessaris. Si ja es disposa de l'ODBC a l'ordinador, es recomana vivament l'actualització amb les últimes versions disponibles, donat que Microsoft actualitza constantment aquesta tecnologia amb noves funcionalitats i connexions a noves bases de dades.

Com instal·lar i actualitzar l'ODBC

Les últimes versions dels components ODBC poden ser descarregades des de https://docs.microsoft.com/en-us/sql/odbc/microsoft/microsoft-supplied-odbc-drivers?view=sql-server-2017 per Access, Excel, Dbase, text, Oracle, etc, o des de https://docs.microsoft.com/ca-es/sql/connect/odbc/microsoft-odbc-driver-for-sql-server?view=sql-server-2017 per SQL Server. En general, es poden trobar aquests complements també sota el nom de MDAC (Microsoft Data Access Components).

En aquesta pàgina es disposa de diverses eines per a descarregar. Cal descarregar només el MDAC (NO el MDAC SDK).

Quines peces formen l'ODBC

La tecnologia ODBC està formada per diverses peces:

  • Driver Manager: Aplicació que es troba entre l'aplicació pròpia i les bases de dades. És qui governa les interaccions i transmet les dades entre l'aplicació i la base de dades.
  • Drivers: Connexions específiques per a cada una de les diferents bases de dades. El Driver Manager és l'encarrregat de controlar tots els drivers.
    Si es vol accedir a unes dades en format MS-Access, cal disposar d'un driver per a MS-Access; així mateix, si es vol accedir a unes dades en format Oracle cal tenir un driver específic per a base de dades Oracle.

Microsoft proporciona, a través de la instal·lació de la tecnologia ODBC, alguns drivers per a accedir a les bases de dades més comunes en el mercat (per exemple MS-Access, SQL-Server, Oracle, etc), i també alguns drivers per accedir a dades en formats no estrictament de bases de dades (per exemple Excel, Text, etc).

També es poden aconseguir altres drivers ODBC d'altres marques comercials, per accedir als seus propis productes, per exemple el driver ODBC de la marca Oracle per accedir a les bases de dades en format Oracle (per exemple https://www.oracle.com/technetwork/database/windows/downloads/utilsoft-098155.html).

Com establir una connexió entre el MiraMon i una base de dades

El MiraMon ha estat preparat per utilitzar la potència de la tecnologia ODBC. Amb aquest fet s'obren moltes portes de futur per a poder realitzar consultes espacials molt complexes, utilitzant dades de grans base de dades.

  • Bases de dades en format DBF: S'hi pot accedir com fins ara.
  • Bases de dades en format MS-Access (MDB): La persona usuària pot adreçar-se directament al fitxer MDB, el MiraMon ja s'encarrega d'establir els protocols per accedir a aquest tipus de fitxer via ODBC (òbviament cal tenir instal·lats els drivers ODBC).
  • Qualsevol altra format de bases de dades, relacionals o no: cal seguir els següents passos.
1.- Obrir el gestor ODBC de les opcions de configuració de l'ordinador.
On és l'ODBC? Win NT/2000, WIN95/98.

NOTA: L'aspecte d'aquesta finestra pot variar segons la versió i l'idioma instal·lats. Aquesta imatge correspon a la versió 3.520.7326.0 en anglès.

En aquest punt cal definir què és un DSN: Data Source Name (font de dades), permet definir l'accés a la base de dades, quin driver s'ha d'utilitzar i com ha de ser aquesta connexió.

Tipus de DSN:

    • USER DSN (font de dades de l'usuari): DSN propi de cada persona usuària. En entorns Windows NT, Windows 2000 i entorns posteriors, amb les opcions de seguretat activades, aquest DSN només el pot utilitzar qui l'ha creat o l'administrador del sistema. Resulta útil per augmentar la seguretat (només hi accedirà la persona usuària en qüestió, sense contrasenyes).
    • SYSTEM DSN (font de dades del sistema): DSN que pot utilitzar qualsevol persona que tingui accés a l'ordinador.
    • FILE DSN (font de dades en un fitxer): DSN desat en un fitxer de text amb extensió DSN. Aquest fitxer de text es pot obrir amb qualsevol editor de textos i manipular el seu contingut. Com a fitxer de text, s'hi apliquen els paràmetres de seguretat de qualsevol altre fitxer.

    A la majoria de persones usuàries, si més no per començar, els resultarà més còmode accedir a les bases de dades via DSN de fitxer (DSN File), raó per la qual l'explicació es continua sota aquest supòsit.

  • 2.- Afegir un DSN de fitxer (File DSN).

    Cal polsar sobre el botó Afegir (Add).

    3.- Escollir el driver adequat per a la base de dades a la que es vol accedir.
    En aquest exemple es vol accedir a una base de dades en format Oracle

    NOTA: Cal assegurar-se que el driver escollit és l'última versió disponible. És possible que a la llista hi hagi més d'una versió de diferents drivers.

    4.- Indicar el nom i el directori on s'ha de desar el fitxer DSN.
    És important recordar el lloc on es desa aquest fitxer, i que tingui un nom identificatiu de la base de dades a la qual accedeix

    5.- Indicar a quina base de dades s'ha d'accedir i les propietats de la connexió.
    La finestra de configuració de la connexió és específica per a cada driver, en aquest cas només es mostra la finestra del driver per a bases de dades en format Oracle.

    NOTA: Aquesta caixa de diàleg es pot evitar escrivint el nom d'usuari a la clau USER= i la contrasenya a la clau PWD= al fitxer DSN corresponent. Cal tenir present el nivell de privacitat d'aquest fitxer si es pren aquesta decisió.
    6.- Un cop es té el fitxer DSN creat, el MiraMon (i totes les aplicacions de suport) podran accedir a la base de dades a través d'aquest fitxer.


    En el MiraMon, habitualment, DBF és el format de taules d'elecció per ser el més popular dels formats de taules alfanumèriques de dades (exceptuant les formes tabulars en text pla), per la seva senzillesa i velocitat, pel fet que no cal dependre de tercers, o simplement perquè, en difondre informació, es vol tenir la certesa que aquesta es podrà obrir en un ordinador del qual es desconeix quins drivers té instal·lats (motiu pel qual és l'opció per defecte en la creació de fitxers MMZX o MMZ destinats a una àmplia difusió per Internet), malgrat el gran potencial que presenta l'accés a les diferents fonts tabulars explicades àmpliament als apartats precedent.

    Tanmateix, el format DBF, per la seva antiguitat, presenta una sèrie de limitacions, àmpliament explicades a l'apartat 1.Antecedents i motivació del document tècnic Especificació del format "DBF estesa" (longitud del nom del fitxer o amb caràcters estranys -accentuats, dièresis, espais, etc-, longitud del nom de cada camp de màxim 10 caràcters o amb caràcters extranys, entre un llarg llistat).

    El MiraMon soluciona les més importants d'aquestes limitacions tot establint una variació del format DBF anomenat "DBF estesa", el qual és detallat als apartats 2.Característiques i utilització del format "DBF estesa" i 3. Especificació del format "DBF estesa" del mateix document tècnic.

    Cal tenir present, però, que si una taula no necessita superar les limitacions de la DBF clàssica, és preferible escriure-la en aquest format a fi que sigui llegible per altres softwares que no suportin la "DBF estesa" atès que el format no manté la compatibilitat descendent (una "DBF estesa" no pot ser llegida, ni parcialment, per un software que llegeix DBF clàssiques). Això fa que si es té necessitat de llegir una taula "DBF estesa" a un software que només pot llegir DBF clàssiques caldrà aplicar algunes operacions sobre la taula per tal que torni a ser "DBF clàssica" (reducció del nombre de camps, etc), tal i com s'explica més endavant a Transformació d'una "DBF estesa" a una DBF clàssica.

    Actualment el MiraDades informa, en l'opció "Informació | Informació de la taula", de si la taula és estesa o no, i és possible veure quants camps es tenen (i per tant si un dels motius que no sigui "DBF clàssica" és haver excedit els 255 camps) així com les característiques dels camps en el llistat corresponent, de manera que es pot veure també quins són aquells que no compleixen amb l'especificació de la "DBF clàssica" (noms de camp més llargs de 10 caràcters o amb caràcters estranys -accentuats, dièresis, espais,...), camps de text amb longitud superior a 254 caràcters). Tanmateix, aquesta anàlisi resulta massa laboriosa si es vol fer amb un volum de taules gran o amb una certa freqüència, per la qual cosa convé disposar d'un mecanisme que faciliti la transformació d'una taula "DBF estesa" a una taula DBF clàssica.

    IMPORTANT: El pas d'una "DBF estesa" a una "DBF clàssica" gairebé sempre comportarà pèrdua d'informació, per la qual cosa és molt convenient fer una còpia de seguretat de la taula que vol ser "simplificada".


    Les característiques del format "DBF estesa" es troben explicades a l'apartat 3. Especificació del format "DBF estesa" del document tècnic Especificació del format "DBF estesa".


    El requeriment principal per a transformar una "DBF estesa" a una "DBF clàssica" és agilitzar la forma de convertir camps estesos en camps clàssics, així com controlar el nombre de camps totals.

    Què cal fer per passar de "DBF estesa" a "DBF clàssica" (a nivell d'usuari):

    • Convertir els noms dels camps a majúscula, sense caràcters estesos, limitant la longitud màxima a 10 caràcters i vigilant que no hi hagi repeticions de nom amb els altres camps existents.
    • Controlar que la mida d'un camp de text (tipus 'C', de caràcters) no supera 254.
    • Reduir el nombre total de camps, sense depassar els 255 permesos en la DBF clàssica.

    A través de l'eina GestBD és possible convertir de forma automàtica una "DBF estesa" a clàssica, tot i que si es prefereix fer-ho manualment per a un major control, pot efectuar-se a través de MiraDades, a la finestra de "Modificar estructura de la taula".

    MiraDades incorpora les següents característiques per a facilitar la conversió d'una "DBF estesa" a clàssica:

    1. En el llistat de camps, apareix al costat de cada nom de camp estès:
      • el nou nom proposat de menys de 10 caràcters i sense caràcters estesos
      • la mida necessària que ha de tenir el camp per a no truncar la informació

      Això provoca que el recurs hagi de tenir una barra de desplaçament (scroll) horitzontal, si cal. Si el camp és estès però el motiu no és el nom, aquest s'escriurà igualment per a donar una major facilitat visual a la persona usuària.

    2. Un botó al costat del botó "Canviar" amb nom "A clàssic": en prémer el botó el camp passa a ser clàssic adoptant el nom i mida proposats. Si la mida en la "DBF clàssica" depassa els 255 caràcters s'avisa que en truncar-la es perdrà informació i es dóna l'oportunitat de continuar o de cancel·lar.
    3. Sota el llistat de noms de camps apareix el motiu pel qual la DBF sigui estesa, si ho és. Exemples que poden aparèixer:
      • Hi ha noms de camp estesos, hi ha mides de camps de text de més de 254 caràcters i hi ha més de 255 camps.
      • Hi ha mides de camps de text de més de 254 caràcters i hi ha més de 255 camps.
      • Hi ha noms de camp estesos i hi ha mides de camps de text de més de 254 caràcters.

    4. Si la informació estesa al costat dels camps resulta molesta es pot activar la casella Amaga la informació estesa.

    El GestBD (gestor de bases de dades) incorpora les següents característiques per a facilitar la conversió d'una "DBF estesa" a "DBF clàssica":

    1. Un botó al costat del botó "ODBC->DBF" amb nom "DBF estesa": en prémer el botó s'ofereix la possibilitat d'anomenar el fitxer de "DBF clàssica" resultat de la transformació.
    2. Si la mida en la "DBF clàssica" depassa els 255 caràcters s'avisa que en truncar-la es perdrà informació i es dóna l'oportunitat de continuar o de cancel·lar. En cas que es continuï i es trunqui informació, automàticament es genera una còpia de seguretat de la taula "DBF estesa" original.