COMO PUEDO HACER PARA CONECTARME A UNA BASE DE DATOS EN RED???? GRACIAS.!!!!!

01/11/2004 - 00:00 por Gustavo Arcila | Informe spam
hola, nuevamente una pregunta para los que más saben de VisualFox

Tengo una aplicación ubicada en c:\productos, la cual abre una base de
datos que está ubicada en una subcarpeta llamada Data:

c:\producto
c:\producto\data (esta carpeta la tengo
compartida)
c:\producto\data\mibase.dbc
c:\producto\data\tablas.dbf (Todas las demás tablas e
indices...)

Ahora tengo un equipo en red y me he conectado a la unidad compartida como
m:, pero cuando intento hacer que mi programa abra la base de datos en m:
me dice que no encuentra c:\producto\data\mibase.dbc.

COMO PUEDO HACER PARA CONECTARME A ESTA BASE DE DATOS EN RED????
GRACIAS.!!!!!




-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa

Preguntas similare

Leer las respuestas

#1 Alex Feldstein
01/11/2004 - 11:47 | Informe spam
On Sun, 31 Oct 2004 15:00:23 -0800, "Gustavo Arcila"
wrote:

hola, nuevamente una pregunta para los que más saben de VisualFox

Tengo una aplicación ubicada en c:\productos, la cual abre una base de
datos que está ubicada en una subcarpeta llamada Data:

c:\producto
c:\producto\data (esta carpeta la tengo
compartida)
c:\producto\data\mibase.dbc
c:\producto\data\tablas.dbf (Todas las demás tablas e
indices...)

Ahora tengo un equipo en red y me he conectado a la unidad compartida como
m:, pero cuando intento hacer que mi programa abra la base de datos en m:
me dice que no encuentra c:\producto\data\mibase.dbc.




Open Database m:\producto\data\mibase.dbc
Use m:\producto\data\tabla.dbf

suponiendo que esa sea la ruta compartida (o sea que el Share que
llamas M: tenga esa ruta).

Otra forma es no usar una letra (map) y llamarlo directamente del
share del servidor:

Use \\servidor\producto\data\tabla.dbf


Alex Feldstein
________________________________
Microsoft Visual FoxPro MVP
Please respond in the public groups so that everybody
can benefit from the exchange.
Favor de responder en los foros públicos asi todos se benefician.
(address munged with ROT-13)

Blog: http://www.bloglines.com/blog/AlexFeldstein
Website: http://feldstein.net
Respuesta Responder a este mensaje
#2 Alexander Ariel Kwaszka
01/11/2004 - 16:00 | Informe spam
Si tu bd se visualiza en el entorno de red, esta es la solucion:
Nota: es un poquieto complejo, pero solucionas todos tus probelamas de
direccionamiento de la bd.

en tu prg principal
******************************************
RUTAPROGRAMA=sys(5)+CURDIR( )&&guarda ruta de programa pricipal
gcDBPath=""
gcDBName=""
RUTABD=""
clear
ON ERROR T=FILETOSTR('directorio.ini')
gcDBPath="hgh"
gcDBPath=""


&&En directorio.ini guardo la direccion de la bd
IF FILE('directorio.ini')&&&si existe el archivo
&&si existe asigna el contenido a una variable, gcDBPath
gcDBPath=""
gcDBPath=FILETOSTR('directorio.ini')
set PATH TO(gcDBPath)&&POSICIONA EN EL LUGAR DE LA BASE DE DATOS
if FILE(gcDBPath)&&COMPRUEBO SI EXISTE la base de datso
set default TO (RUTAPROGRAMA)
do form formularios/quien&&&tu formulario
ON ERROR
READ event
ELSE
&& si no existe procede a buacarla y crear el archivo directorio.ini,
aunque si esta aqui, significa que el archivo existe, pero igualemte lo
borrro y lo vuelvo a crear
resp=MESSAGEBOX('NO SE ENCUENTRA LA BASE DE DATOS ','BUSCAR BASE DE
DATOS',1)
set default TO (RUTAPROGRAMA)
üLOSE(gxErrFile ) &&&cierro
erase directorio.ini&&&borro
gxErrFile = FCREATE('directorio.ini') &&& creo
üLOSE(gxErrFile ) &&CIERRO
QQ=getfile('DBC','BUSCAR BASE DE DATOS:','ABRIR',2,'BUSCAR Y
ABRIR')&&&aqui te da la opcion de buscarla
IF FILE (QQ)&&una vez bucada, comprueba si es la correcta "si existe la
bd"
RUTABD=QQ
SET DEFAULT TO (RUTAPROGRAMA)
gnErrFile = FOPEN('directorio.ini',12)&&ABRO LECTURA ESCRITURA
FWRITE(gxErrFile,RUTABD)&&GUARDO RUTA EN ARCHIVO
üLOSE(gxErrFile ) &&CIERRO
gcDBPath="hgh"
gcDBPath=""
gcDBPath=""
gcDBPath=FILETOSTR('directorio.ini')
gcDBPath = alltrim(gcDbPath)&&&datos\"
set default TO (RUTAPROGRAMA)
CLEAR
do form formularios/quien
ON ERROR
READ event
ELSE
MESSAGEBOX('HA CANCELADO LA BUSQUEDA DE LA BASE DE DATOS ')
ON ERROR
CLEAR EVENTS
CLOSE ALL
RELEASE ALl
set sysmenu to defaul
CLEAR ALL
clear program
ENDIF
ENDIF
************
ELSE &&si no existe el archivo directorio.ini procede a crearlo y a buscar
la bd
resp=MESSAGEBOX('NO SE ENCUENTRA LA BASE DE DATOS ','BUSCAR BASE DE
DATOS',1)
IF resp=1
gxErrFile = FCREATE('directorio.ini') &&& creo
üLOSE(gxErrFile ) &&CIERRO
QQ=getfile('DBC','BUSCAR BASE DE DATOS:','ABRIR',2,'BUSCAR Y ABRIR')
IF FILE (QQ)
RUTABD=QQ
SET DEFAULT TO (RUTAPROGRAMA)
gnErrFile = FOPEN('directorio.ini',12)&&ABRO LECTURA ESCRITURA
FWRITE(gxErrFile,RUTABD)&&GUARDO RUTA EN ARCHIVO
üLOSE(gxErrFile ) &&CIERRO
gcDBPath="hgh"
gcDBPath=""
gcDBPath=""
gcDBPath=FILETOSTR('directorio.ini')
gcDBPath = alltrim(gcDbPath)&&&datos\"
set default TO (RUTAPROGRAMA)
CLEAR
do form formularios/quien
ON ERROR
READ event
ELSE
MESSAGEBOX('HA CANCELADO LA BUSQUEDA DE LA BASE DE DATOS ')
ON ERROR
CLEAR EVENTS
CLOSE ALL
RELEASE ALl
set sysmenu to defaul
CLEAR ALL
clear program
ENDIF
ELSE
MESSAGEBOX('HA CANCELADO LA BUSQUEDA DE LA BASE DE DATOS ')
ON ERROR
CLEAR EVENTS
CLOSE ALL
RELEASE ALl
set sysmenu to defaul
CLEAR ALL
clear program
ENDIF
ENDIF
*******************************************************
Luego en tus formularios e informes, deberas decirle donde busquen el paht
de la base de datos.
En el entorno de datos "dataenvriment" autoopentables=.f.
y en el evento load del formulario o el init de los informes
CLEAR
gcDBPath=(FILETOSTR('directorio.ini'))
thisform.SetAll("Database",gcDbPath,"CURSOR")
thisform.dataenvironment.opentables()

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida