# Conexión a la base de datos

Para utilizar el `Proveedor de Datos ODBC` en EasyCatalog, antes necesitas instalar el [controlador ODBC](#user-content-fn-1)[^1] correspondiente, normalmente proporcionado por el fabricante o distribuidor de la base de datos a la que vas a conectarte. Trabajar con un Origen de Datos ODBC es muy similar a hacerlo con un Origen de Datos de texto delimitado, pero primero deberás configurarlo correctamente.

Antes de poder crear un nuevo Origen de Datos ODBC en EasyCatalog, necesitarás configurar un DSN mediante la aplicación correspondiente:

<table><thead><tr><th width="145">Plataforma</th><th>Aplicación</th></tr></thead><tbody><tr><td>Macintosh</td><td>La aplicación <a href="http://www.odbcmanager.net">ODBC Manager</a>, que por defecto se instala en la carpeta A<code>plicaciones>Utilidades</code>.</td></tr><tr><td>Windows</td><td>El panel de control <code>Administrador de orígenes de datos ODBC</code>. En Windows 11, utiliza la herramienta de búsqueda y escribe ODBC para abrir el panel <code>Administrador de orígenes de datos ODBC</code>.</td></tr></tbody></table>

Utiliza la solución adecuada a tu plataforma para configurar un nuevo `Origen de Datos`. La configuración del DSN contiene la información necesaria para establecer una conexión a tu base de datos, el tipo de codificación del texto, las credenciales de acceso, etc.

{% hint style="warning" %}
Recuerda que  primero debes configurar un DSN antes de crear un nuevo Origen de Datos ODBC con EasyCatalog.
{% endhint %}

## Configuración de un Origen de Datos ODBC

Conectar EasyCatalog a un origen de datos ODBC es un proceso relativamente sencillo, siempre y cuando el origen de datos se haya configurado correctamente mediante la aplicación ODBC Manager (Mac) /ODBC Data Sources (Windows).

Para crear un nuevo origen de datos ODBC en EasyCatalog, selecciona `Archivo > Nuevo > Panel de EasyCatalog > Nuevo origen de datos ODBC`. Se abrirá el cuadro de diálogo que se muestra a continuación.

<img src="https://3269882995-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLM9dfJ6ksXeL8dv0ysZM%2Fuploads%2Fr2wf5TTh1ClOsnApqQDP%2Fodbc_ds.svg?alt=media&#x26;token=0bc6827d-7de6-4934-9ad6-9ef5460fe2ab" alt="Cuadro de diálogo Configuración del Origen de datos ODBC" class="gitbook-drawing">

### <img src="https://3269882995-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLM9dfJ6ksXeL8dv0ysZM%2Fuploads%2F1wFgEFIVScAKvPxXL0Y3%2F1_bullet.svg?alt=media&#x26;token=b8a30254-05fa-465f-80cb-efac24bc5d31" alt="1" data-size="line">Nombre

Escribe el nombre del Origen de Datos. Cada origen de datos debe tener un nombre único, que servirá para referirse al mismo de manera inequívoca. El Orígen de Datos se añadirá a la carpeta del espacio de trabajo de EasyCatalog, y podrás acceder a él siempre que lo necesites desde el menú `Archivo→Nuevo Panel EasyCatalog→Nombre del Origen de Datos`.

### <img src="https://3269882995-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLM9dfJ6ksXeL8dv0ysZM%2Fuploads%2F8r81prFccVM8PA5a9H9A%2F2_bullet.svg?alt=media&#x26;token=ec3acb69-aec2-431b-ac03-3e1af17c028f" alt="2" data-size="line">Orígenes de datos

Es este menú desplegable se listan los orígenes de datos ODBC configurados en la aplicación ODBC Manager (Macintosh) o la herramienta de administrador de Orígenes de Datos ODBC (Windows). Selecciona un Origen de Datos al que conectar para rellenar parte de la cadena de conexión.

### <img src="https://3269882995-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLM9dfJ6ksXeL8dv0ysZM%2Fuploads%2FxbbbCj4VjgNMQPmH3VkE%2F3_bullet.svg?alt=media&#x26;token=450af50b-e04e-4d7f-8104-e60d7f0f4760" alt="3" data-size="line">Cadena de conexión

A no ser que hayas incluido las credenciales de conexión cuando definiste el DSN, deberás introducir el usuario y la contraseña. Hazlo añadiendo `UID=USER;PWD=PASS;` a la cadena de conexión. Cambia el valor de `USER`/`PASS` por el nombre de usuario y la contraseña del anfitrión ODBC.

La cadena de conexión consiste en un conjunto de parámetros con las instrucciones necesarias para conectarse a la base de datos. El formato de la cadena de conexión se basa en el estándar *ODBC Connection String*, y consta de una serie de pares clave/valor separados por punto y coma. El signo igual (=) conecta cada palabra clave con su valor.

En su forma más simple, la cadena de conexión solo necesita especificar el nombre de un origen de datos, el cual se habrá configurado previamente usando el panel de control ODBC (en Windows) o la aplicación ODBC Manager (en Macintosh).

A continuación se muestra una lista de las palabras clave y sus valores típicos que se utilizan para configurar una cadena de conexión. Ten en cuenta que la compatibilidad dependerá del controlador ODBC que estés utilizando.&#x20;

{% hint style="warning" %}
Las opciones que especifiques en la cadena de conexión prevalecerán sobre cualquier configuración realizada en el DSN con el panel de control ODBC (Windows) o la aplicación ODBC Manager (Macintosh).
{% endhint %}

<table><thead><tr><th width="159">Palabra clave</th><th>Valor</th></tr></thead><tbody><tr><td><strong>DSN</strong></td><td>Data source name (nombre del origen de datos)</td></tr><tr><td><strong>HOST</strong></td><td>Nombre del servidor host</td></tr><tr><td><strong>SVT</strong></td><td>Tipo de servidor de base de datos</td></tr><tr><td><strong>DATABASE</strong></td><td>El nombre de la base de datos a la que te conectarás</td></tr><tr><td><strong>OPTIONS</strong></td><td>Opciones específicas de tu base de datos</td></tr><tr><td><strong>UID</strong></td><td>Nombre de usuario</td></tr><tr><td><strong>PWD</strong></td><td>Contraseña</td></tr><tr><td><strong>READONLY</strong></td><td>Sólo lectura. Valores posibles:  N/Y/I (No/Sí/Indefinido)</td></tr><tr><td><strong>FBS</strong></td><td>Tamaño del búfer</td></tr><tr><td><strong>STMT</strong></td><td>Especifica una instrucción que se ejecutará después de la conexión a la base de datos.</td></tr></tbody></table>

Ejemplo:

```sql
DSN=MiBasedeDatos;UID=javier;PWD=dejameentrar;
```

### <img src="https://3269882995-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLM9dfJ6ksXeL8dv0ysZM%2Fuploads%2FD3JC35f05pkW1TnpLbZg%2F4_bullet.svg?alt=media&#x26;token=7353d3d7-4edd-4b2f-82c7-c5e3c50ed02d" alt="4" data-size="line">Tablas

Haz clic en este botón para ver la lista de las tablas disponibles en tu base de datos. Puedes utilizar este cuadro de diálogo para construir tu consulta SQL

### <img src="https://3269882995-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLM9dfJ6ksXeL8dv0ysZM%2Fuploads%2FpR8ntDVA2NY0BuIWzhpm%2F5_bullet.svg?alt=media&#x26;token=5f3781e2-bc98-4d5c-8b24-3ebb091454f1" alt="5" data-size="line">Consulta

Debes editar la consulta para seleccionar el nombre correcto de la tabla (si no estás seguro de qué tabla usar, haz clic en el botón `Tablas…` para ver la lista completa); en este ejemplo, la tabla se llama `Productos`. Debes establecer el mismo valor de codificación que el utilizado por el controlador ODBC. Pulsa`Ejecutar` para ejecutar la consulta; si funciona correctamente, se mostrarán los campos de la tabla y algunos de los datos en el área`Muestra` del panel.

La consulta debe tener una sintaxis compatible con el estándar SQL, y determinará exactamente qué campos y con qué nombres devolverá la base de datos.

El [lenguaje SQL (Structured Query Language)](https://en.wikipedia.org/wiki/SQL) te permite especificar con precisión qué datos recuperar de la base de datos. Puedes consultar tu base de datos de forma casi ilimitada utilizando el lenguaje SQL.

La sintaxis exacta y el uso de SQL van más allá del alcance de esta guía; te aconsejo que consultes uno de los múltiples [tutoriales](https://www.w3schools.com/sql/) de SQL disponibles online. Esta guía asume que tienes un conocimiento básico de tu base de datos y eres capaz de recuperar los datos necesarios usando SQL.

### <img src="https://3269882995-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLM9dfJ6ksXeL8dv0ysZM%2Fuploads%2FMQHljuwcswmki35jaBFz%2F6_bullet.svg?alt=media&#x26;token=0b27c1f2-b5e6-47ad-b236-9e2fccd0f41c" alt="6" data-size="line">Codificación

Cambia el valor de este menú desplegable si tu base de datos es compatible con el estándar Unicode. Según el controlador ODBC que utilices, selecciona`Unicode` o`utf-8`.

{% hint style="warning" %}
**Solo en Macintosh**: Para bases de datos que no sean compatibles con Unicode, selecciona `Windows Latin 1` si el texto de la base de datos se introdujo desde un ordenador Windows.
{% endhint %}

### <img src="https://3269882995-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLM9dfJ6ksXeL8dv0ysZM%2Fuploads%2FRHtAhIUuxsquNBlpaK7o%2F7_bullet.svg?alt=media&#x26;token=bd942eee-6d62-41f0-b49b-c918ee69fd76" alt="7" data-size="line">Ejecutar

Haga clic en el botón `Ejecutar` para comprobar la configuración de la Cadena de Conexión y la consulta SQL. Los resultados devueltos por la consulta se mostrarán en la ventana del área Ejemplo del cuadro de diálogo.

### <img src="https://3269882995-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLM9dfJ6ksXeL8dv0ysZM%2Fuploads%2FgKO8jtz5WzwdUgDwJd0M%2F8_bullet.svg?alt=media&#x26;token=3b8d6364-19c9-4c9c-a9bb-e2fbac6f7e2f" alt="8" data-size="line">Ejemplo

Aquí se mostrará el resultado de la consulta a la base de datos. Utiliza esta área para comprobar que los resultados sean los esperados y, de forma opcional, para configurar las `Opciones de campo`.

### <img src="https://3269882995-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLM9dfJ6ksXeL8dv0ysZM%2Fuploads%2FKbEKXdPrp1YplFVPBB1Y%2F9_bullet.svg?alt=media&#x26;token=57726ff6-be7d-4ef7-83c2-2009739b9d12" alt="9" data-size="line">Información del campo

Selecciona una de las columnas devueltas por la consulta en el panel `Ejemplo` y haz clic en el botón `Opciones` para configurar las `Opciones del campo`.

Una vez configurado y probado con éxito, debes indicar al menos un [campo clave](https://easycatalog.nousmedis.com/manual-de-usuario-de-easycatalog/configuracion-de-tus-datos/algunas-definiciones-utiles#campos-clave) — el campo que se utilizará para identificar de forma única cada registro de la base de datos.

[^1]: Necesitas descargar e instalar un controlador ODBC para poder conectar con bases de datos MySQL, MS SQL Server, etc.
