Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-04-2015
doctorhd doctorhd is offline
Miembro
NULL
 
Registrado: abr 2013
Posts: 48
Poder: 0
doctorhd Va por buen camino
Obtener ruta real

Hola a todos, tengo la siguiente duda, es posible obtener la ruta física o real de un archivo a partir de la ruta relativa o mapeada, por ejemplo:

\\SERVIDOR\Base Datos\base.fbd ----> c:\MisBases\Base Datos\base.fbd

Saludos....
Responder Con Cita
  #2  
Antiguo 13-04-2015
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
La función ExpandFileName, de la unidad sysutils, sirve precisamente para lo que pides, al menos en la parte de rutas relativas.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #3  
Antiguo 14-04-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola doctorhd.


Recién me doy cuenta del detalle...: ...\base.fbd

Si el tema hubiera estado publicado en el foro Firebird, y estas usando la versión 2.0 o posterior, mi primer sugerencia habría sido que obtengas la información del servidor:
Código SQL [-]
SELECT RDB$GET_CONTEXT('SYSTEM', 'DB_NAME') FROM RDB$DATABASE

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 16-04-2015
doctorhd doctorhd is offline
Miembro
NULL
 
Registrado: abr 2013
Posts: 48
Poder: 0
doctorhd Va por buen camino
Gracias Ñuño Martínez, pero la función ExpandFileName, me devuelve la misma ruta relativa, cuando se aplica a un recurso en red.

ecfisa

Código SQL [-]
SELECT RDB$GET_CONTEXT('SYSTEM', 'DB_NAME') FROM RDB$DATABASE

esto es aplicable cuando ya tienes acceso a la base de datos.

Mi problema radica en que necesito una forma de que un usuario cliente pueda indicar la ruta de acceso a la base de datos cuando esta se encuentra almacenada en un host distinto al propio en una red local. Todas las opciones de controles que permiten visualizar los recursos de una Lan, devuelven la ruta relativa de las carpetas disponibles para el recurso (host). Y ya que firebird necesita de la ruta física de la base dentro del host para acceder a ella, necesito convertir la ruta relativa a la física dentro de dicho host para poder hacer la conexión.

Saludos.
Responder Con Cita
  #5  
Antiguo 16-04-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola doctorhd.

La verdad es que no alcanzo a entender bién la situacion.

Si dispones de la cadena "\\SERVIDOR\Base Datos\base.fbd" hay dos situaciones: La ruta es correcta y se tiene acceso a la base de datos, o no por que la ruta es erronea y en este caso no tendría sentido la conversión.

En el caso que ruta sea correcta y hay conexión, realizando la consulta anterior desde cualquier equipo cliente se obtiene la dirección efectiva a la base de datos en el equipo servidor.

Mis dudas son estas:
Cita:
Mi problema radica en que necesito una forma de que un usuario cliente pueda indicar la ruta de acceso a la base de datos
¿ El usuario debe localizar e indicar la situación física de la base de datos ?
Cita:
...la base de datos cuando esta se encuentra almacenada en un host distinto al propio en una red local
¿ El servidor es remoto y está conectado vía internet ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 16-04-2015
doctorhd doctorhd is offline
Miembro
NULL
 
Registrado: abr 2013
Posts: 48
Poder: 0
doctorhd Va por buen camino
Hola ecfisa

Cita:
Si dispones de la cadena "\\SERVIDOR\Base Datos\base.fbd" hay dos situaciones: La ruta es correcta y se tiene acceso a la base de datos, o no por que la ruta es errónea y en este caso no tendría sentido la conversión.
Es una ruta valida, pero Firebird no permite para windows rutas del tipo:
Cita:
"\\SERVIDOR\Base Datos\base.fbd",
si permite rutas del tipo:
Cita:
servidor:letra_de_disco:\ruta\archivo_de_base_de_datos
es decir, para mi caso
Cita:
"SERVIDOR:c:\UnaCarpeta\Base Datos\base.fbd"
Entonces necesito saber si es posible transformar la ruta relativa a la ruta fisica:
Cita:
"\\SERVIDOR\Base Datos\base.fbd" -----> "SERVIDOR:c:\UnaCarpeta\Base Datos\base.fbd"
Cita:
¿ El usuario debe localizar e indicar la situación física de la base de datos ?
Si, de otra forma no es posible realizar la conexión.
Cita:
¿ El servidor es remoto y está conectado vía internet ?
No, "SERVIDOR", es un host dentro de una Lan, pero distinto al host desde donde el cliente esta.

Espero haberme hecho entender, Saludos...
Responder Con Cita
  #7  
Antiguo 16-04-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola doctorhd.

Ahora te entendí perfectamente, pero ignoro como obtener la ruta local a partir de la UNC.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 16-04-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola de nuevo.

Pegale una ojeada a este enlace, a ver si se aproxima a lo que estas buscando: Get local name of network share in Delphi

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Obtener ruta completa pepecharlie67 Varios 4 02-01-2006 15:25:39
Obtener IP Real con Indy Carlos Hurtado Internet 8 01-09-2005 00:56:03
Obtener la ruta real de una carpeta compartida en mi ordenador Javi2 API de Windows 0 14-07-2004 11:17:12
Como averiguar la ruta real de una carpeta compartida? Javi2 Varios 0 09-07-2004 11:36:04
Obtener la ruta de un servicio xcostey Varios 2 16-04-2004 00:44:13


La franja horaria es GMT +2. Ahora son las 09:50:15.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi