Página principal
Artículos y trucos
Catálogo de productos
Ejemplos y descargas
Mis libros
Cursos de formación
Investigación y desarrollo
Libros recomendados
Mis páginas favoritas
Acerca del autor
 
En colaboración con Amazon
 
Intuitive Sight

Nombres de servidores en InterBase

Originalmente, este truco se refería a la posibilidad de utilizar una base de datos situada en un disco D: de un servidor de InterBase. La sintaxis de conexión original de InterBase no permitía por aquel entonces la especificación de letras de unidades... a no ser que la conexión se realizase a través de NetBEUI. Por suerte, aquella situación cambió, pero el truco perdió su razón de ser. En esta nueva versión del mismo veremos algunos detalles menos conocidos sobre la sintaxis de las cadenas de conexión de InterBase, y algunos trucos relacionados con las conexiones.

PROTOCOLOS

El BDE utiliza el parámetro SERVER NAME de los alias de InterBase para determinar, además de cuál base de datos queremos abrir, el protocolo mediante el cual queremos comunicarnos con el servidor. Por ejemplo, si deseamos abrir una base de datos local, es necesario que indiquemos la ruta completa al fichero principal de la base de datos:

C:\Datos\1999\Empresas.GDB

Si la base de datos reside en un servidor remoto, al cual llamaremos SERV, y queremos conectarnos mediante NetBEUI, la sintaxis es la siguiente:

\\SERV\Datos\1999\Empresas.GDB

Observe que estamos refiriéndonos a una ruta de directorios, no a un recurso compartido. Es muy posible y deseable que el usuario de red no tenga acceso al directorio C:\Datos\1999 mediante el servicio de compartir archivos del servidor; deseable porque, de este modo, no puede realizar copias sin autorización del fichero, que pondrían en peligro la seguridad de los datos.

Por último, si queremos utilizar TCP/IP con un servidor remoto, ésta es la sintaxis correcta:

SERV:/Datos/1999/Empresas.GDB

Los dos ejemplos anteriores de conexiones remotas asumen que el fichero principal de la base de datos reside en el disco C: del servidor (pueden existir ficheros secundarios en otros discos). ¿Qué pasaría si nos vemos obligados a situar este fichero en un disco alternativo? Si utilizamos NetBEUI es muy sencillo indicar en qué disco está el fichero:

\\SERV\D:\Datos\1999\Empresas.GDB

Lamentablemente, la sintaxis para TCP/IP no permite incluir, por algún motivo que se me escapa, la indicación del disco. Pero no se preocupe, porque existe un truco bastante probado. En primer lugar, debe eliminar el protocolo NetBEUI de su sistema. Esto es una buena idea en general, sobre todo si quiere una red que vaya a una buena velocidad. Si entonces pasa al BDE una cadena con la sintaxis de NetBEUI, se verá obligado a utilizar TCP/IP de todos modos, pero colateralmente podrá indicar también el disco donde se encuentra la base de datos.


Varias personas me han escrito para comunicarme que pueden conectarse a una base de datos remota situada en el disco D: utilizando directamente la sintaxis de TCP/IP. Lo he comprobado y, efectivamente, funciona. Bien: juro por lo que haya que jurar, que hasta determinada versión del cliente de InterBase, este problema existía; tenía una base de datos de consultas precisamente un segundo disco de un servidor, y no había forma de conectarse utilizando dicho protocolo. En algún momento se arregló el problema, pero yo no me enteré. Voy a intentar realizar un par de pruebas con versiones anteriores, y después corregiré esta página, o la sustituiré con algún otro truco.