Conexión a tablas de VFP remotas con ADO

10/12/2004 - 17:57 por Jose19i | Informe spam
Hola grupo a ver si me podeis echar un cable que no lo veo nada claro.

Estoy intentando hacer una conexión a unas tablas de visual fox pro, la
caracteristica que las hace especiales es que se encuentran ubicadas en
un servidor remoto.

He probado estas opciones:

1. Indicando la ruta completa del servidor remoto.

cnConexion.open("Driver={Microsoft Visual Fox Pro Driver};
SourceTypeÛF; SourceDB=\\Servidor\carpeta\dbf; Exclusive=No")

2. Indicando la ruta pero conectado a una unidad de red

cnConexion.open("Driver={Microsoft Visual Fox Pro Driver};
SourceTypeÛF; SourceDB=z:\; Exclusive=No")

3. A través de una DNS indicando que es de foxpro y un directorio de
tabla libre.

cnconexion.open("DSN=Prueba")

4. Mismo caso que el 1 pero en una ruta local

cnConexion.open("Driver={Microsoft Visual Fox Pro Driver};
SourceTypeÛF; SourceDB=c:\carpeta\dbf; Exclusive=No")

5. Mismo caso que el 3 pero con la dsn apuntando a una ruta local

cnconexion.open("DSN=Prueba")

El caso 4 y 5 funcionan correctamente, pero del 1 al 3 obtengo el mismo
error, objeto cerrado o no se encuentra nombre_tabla.dbf, por lo que se
deduce que tiene problemas con la conexiones que están en otros equipos.
Tambien he probado con bases de datos access y tengo el mismo resultado.

Alguna idea de como solucionarlo...??

Muchas gracias y un saludo.

Jose19i

Preguntas similare

Leer las respuestas

#1 Sebastian E. Garcia
10/12/2004 - 18:25 | Informe spam
Tienes la posibilidad de crear un objeto COM+ con VFP? Si puedes hacer eso,
instalas la DLL en el servidor remoto y desde tu ASP solo tienes que hecer
un CREATEOBJCT para instanciar el objeto y correr los procedures que
consideres necesario. Es lo mas sencillo para tu caso, creo.

Sebastian

"Jose19i" escribió en el mensaje
news:%
Hola grupo a ver si me podeis echar un cable que no lo veo nada claro.

Estoy intentando hacer una conexión a unas tablas de visual fox pro, la
caracteristica que las hace especiales es que se encuentran ubicadas en
un servidor remoto.

He probado estas opciones:

1. Indicando la ruta completa del servidor remoto.

cnConexion.open("Driver={Microsoft Visual Fox Pro Driver};
SourceTypeÛF; SourceDB=\\Servidor\carpeta\dbf; Exclusive=No")

2. Indicando la ruta pero conectado a una unidad de red

cnConexion.open("Driver={Microsoft Visual Fox Pro Driver};
SourceTypeÛF; SourceDB=z:\; Exclusive=No")

3. A través de una DNS indicando que es de foxpro y un directorio de
tabla libre.

cnconexion.open("DSN=Prueba")

4. Mismo caso que el 1 pero en una ruta local

cnConexion.open("Driver={Microsoft Visual Fox Pro Driver};
SourceTypeÛF; SourceDB=c:\carpeta\dbf; Exclusive=No")

5. Mismo caso que el 3 pero con la dsn apuntando a una ruta local

cnconexion.open("DSN=Prueba")

El caso 4 y 5 funcionan correctamente, pero del 1 al 3 obtengo el mismo
error, objeto cerrado o no se encuentra nombre_tabla.dbf, por lo que se
deduce que tiene problemas con la conexiones que están en otros equipos.
Tambien he probado con bases de datos access y tengo el mismo resultado.

Alguna idea de como solucionarlo...??

Muchas gracias y un saludo.

Jose19i
Respuesta Responder a este mensaje
#2 Jose19i
10/12/2004 - 18:42 | Informe spam
Hola Sebastián, gracias por contestar, pero no tengo la posibilidad
puesto que es un directorio donde se encuentran tablas dbf con sus
indices cdx.

Yo lo unico que quiero es conectar con una tabla dbf, sin interferir en
los programas externos que la estén utilizando y sacar un unico
registros de ella.

Gracias de nuevo.

Un saludo.

Jose19i

Sebastian E. Garcia wrote:
Tienes la posibilidad de crear un objeto COM+ con VFP? Si puedes hacer eso,
instalas la DLL en el servidor remoto y desde tu ASP solo tienes que hecer
un CREATEOBJCT para instanciar el objeto y correr los procedures que
consideres necesario. Es lo mas sencillo para tu caso, creo.

Sebastian

Respuesta Responder a este mensaje
#3 Sebastian E. Garcia
10/12/2004 - 18:53 | Informe spam
No termino de entender una cosa.
Tu dices que desde tu browser quieres acceder una base de datos/tabla de
Visual FoxPro que esta en otra maquina (remota) y sacar un solo registro? Es
eso lo que quieres hacer?
Porque lo que hago yo siempre es lo que te explique. Compilo una DLL en VFP
que hace el SELECT que necesito (incluso puede recibir parametros para
unirlas al WHERE) y el resultado lo paso como XML para no dar vueltas con
ADO y todo eso. Y desde mi servidor ASP proceso el archivo XML pasandolo
nuevamente a una tabla de VFP. Pero si lo que tienes es un servidor remoto y
no cuentas con la posibilidad de instalalrle una DLL (ademas de no saber si
en esa misma maquina corre el servidor de ASP) no tengo mucha idea de como
hacerlo. Porque termina siendo una conexion a otra maquina pero dejando de
lado la teoria cliente-servidor. Con SQL server puedes hacer algo asi, desde
la web, pero con VFP no estoy seguro. Explicamelo mejor a ver si llegamos a
alguna solucion. :)

Sebastian

"Jose19i" escribió en el mensaje
news:eu82d%
Hola Sebastián, gracias por contestar, pero no tengo la posibilidad
puesto que es un directorio donde se encuentran tablas dbf con sus
indices cdx.

Yo lo unico que quiero es conectar con una tabla dbf, sin interferir en
los programas externos que la estén utilizando y sacar un unico
registros de ella.

Gracias de nuevo.

Un saludo.

Jose19i

Sebastian E. Garcia wrote:
> Tienes la posibilidad de crear un objeto COM+ con VFP? Si puedes hacer


eso,
> instalas la DLL en el servidor remoto y desde tu ASP solo tienes que


hecer
> un CREATEOBJCT para instanciar el objeto y correr los procedures que
> consideres necesario. Es lo mas sencillo para tu caso, creo.
>
> Sebastian
>
Respuesta Responder a este mensaje
#4 Jose19i
10/12/2004 - 19:16 | Informe spam
Ok, gracias de nuevo Sebastián te comento exactamente el asunto.

1º Hay un programa interno en la empresa que utiliza tablas de Foxpro,
esta tablas están ubicadas en un servidor local. El programa está hecho
en vb, y funciona todo ok.

2º Hay otro servidor (win2003 server st ed.) que tiene el iis instalado,
configurado y funcionando ok. Este enlaza con un sql server local y todo ok.

3º Necesito hacer una consulta desde una pagina asp, alojada en el
server del punto 2, y que me devuelva el resultado de una de las tablas
que utiliza la aplicación del punto1.

Nota: El server del punto 1 y el 2 están en la misma red.
Nota: El server del punto 2 tiene acceso remoto.
Nota: De foxpro lo unico que conozco son las estructuras de tablas e
indices, y no puedo tocar nada de ellas. Excepto acceder a la
información contenida en las tablas.

Espero haberme exlicado mejor, gracias y perdón por las molestias...

Un saludo.

Jose19i.

Sebastian E. Garcia wrote:
No termino de entender una cosa.
Tu dices que desde tu browser quieres acceder una base de datos/tabla de
Visual FoxPro que esta en otra maquina (remota) y sacar un solo registro? Es
eso lo que quieres hacer?
Porque lo que hago yo siempre es lo que te explique. Compilo una DLL en VFP
que hace el SELECT que necesito (incluso puede recibir parametros para
unirlas al WHERE) y el resultado lo paso como XML para no dar vueltas con
ADO y todo eso. Y desde mi servidor ASP proceso el archivo XML pasandolo
nuevamente a una tabla de VFP. Pero si lo que tienes es un servidor remoto y
no cuentas con la posibilidad de instalalrle una DLL (ademas de no saber si
en esa misma maquina corre el servidor de ASP) no tengo mucha idea de como
hacerlo. Porque termina siendo una conexion a otra maquina pero dejando de
lado la teoria cliente-servidor. Con SQL server puedes hacer algo asi, desde
la web, pero con VFP no estoy seguro. Explicamelo mejor a ver si llegamos a
alguna solucion. :)

Sebastian

"Jose19i" escribió en el mensaje
news:eu82d%

Hola Sebastián, gracias por contestar, pero no tengo la posibilidad
puesto que es un directorio donde se encuentran tablas dbf con sus
indices cdx.

Yo lo unico que quiero es conectar con una tabla dbf, sin interferir en
los programas externos que la estén utilizando y sacar un unico
registros de ella.

Gracias de nuevo.

Un saludo.

Jose19i

Sebastian E. Garcia wrote:

Tienes la posibilidad de crear un objeto COM+ con VFP? Si puedes hacer





eso,

instalas la DLL en el servidor remoto y desde tu ASP solo tienes que





hecer

un CREATEOBJCT para instanciar el objeto y correr los procedures que
consideres necesario. Es lo mas sencillo para tu caso, creo.

Sebastian








Respuesta Responder a este mensaje
#5 Sebastian E. Garcia
10/12/2004 - 19:44 | Informe spam
Bueno, ahora entiendo un poco mas. Veamos...

Si tienes el servidor de IIS y las tablas de Fox en la misma red, lo que
deberias hacer, es, desde el servidor de IIS, un ASP que haga la conexion a
la tabla Fox por medio de Ole u ODBC. Lo que te resulte mejor. Una vez que
puedes hacer la conexion desde el ASP, tendrias que obtener el dato que
necesitas y enviarlo por medio de un recordset de ADO y procesarlo. Te lo
digo en forma teorica porque solamente lo he leido, nunca implementado.
Siempre me parecio mas facil y rapido hacer mi DLL que haga de intermediaria
en todos los casos, pero como no es el caso que te resulta mejor, trato de
exponer el otro lado de la teoria.
Tambien deberias fijarte que version de DBF son. Si son de Visual FoxPro o
del viejo FoxPro para DOS/Windows. Calculo que si lo usas con una aplicacion
VB deben ser DBF del segundo tipo. Podrias probar de tratarlas como tablas
DBASE si ese fuera el caso.
Si aun asi no logras lo que necesitas, te diria que te pases por el foro de
Visual FoxPro (microsoft.public.es.vfoxpro) que hay gente con muchisimaaaaa
mas experiencia que yo en ese asunto. Seguramente alla encuentres la forma
perfecta de hacer lo que necesitas. Saludos y suerte,

Sebastian

"Jose19i" escribió en el mensaje
news:
Ok, gracias de nuevo Sebastián te comento exactamente el asunto.

1º Hay un programa interno en la empresa que utiliza tablas de Foxpro,
esta tablas están ubicadas en un servidor local. El programa está hecho
en vb, y funciona todo ok.

2º Hay otro servidor (win2003 server st ed.) que tiene el iis instalado,
configurado y funcionando ok. Este enlaza con un sql server local y todo


ok.

3º Necesito hacer una consulta desde una pagina asp, alojada en el
server del punto 2, y que me devuelva el resultado de una de las tablas
que utiliza la aplicación del punto1.

Nota: El server del punto 1 y el 2 están en la misma red.
Nota: El server del punto 2 tiene acceso remoto.
Nota: De foxpro lo unico que conozco son las estructuras de tablas e
indices, y no puedo tocar nada de ellas. Excepto acceder a la
información contenida en las tablas.

Espero haberme exlicado mejor, gracias y perdón por las molestias...

Un saludo.

Jose19i.

Sebastian E. Garcia wrote:
> No termino de entender una cosa.
> Tu dices que desde tu browser quieres acceder una base de datos/tabla de
> Visual FoxPro que esta en otra maquina (remota) y sacar un solo


registro? Es
> eso lo que quieres hacer?
> Porque lo que hago yo siempre es lo que te explique. Compilo una DLL en


VFP
> que hace el SELECT que necesito (incluso puede recibir parametros para
> unirlas al WHERE) y el resultado lo paso como XML para no dar vueltas


con
> ADO y todo eso. Y desde mi servidor ASP proceso el archivo XML pasandolo
> nuevamente a una tabla de VFP. Pero si lo que tienes es un servidor


remoto y
> no cuentas con la posibilidad de instalalrle una DLL (ademas de no saber


si
> en esa misma maquina corre el servidor de ASP) no tengo mucha idea de


como
> hacerlo. Porque termina siendo una conexion a otra maquina pero dejando


de
> lado la teoria cliente-servidor. Con SQL server puedes hacer algo asi,


desde
> la web, pero con VFP no estoy seguro. Explicamelo mejor a ver si


llegamos a
> alguna solucion. :)
>
> Sebastian
>
> "Jose19i" escribió en el mensaje
> news:eu82d%
>
>>Hola Sebastián, gracias por contestar, pero no tengo la posibilidad
>>puesto que es un directorio donde se encuentran tablas dbf con sus
>>indices cdx.
>>
>>Yo lo unico que quiero es conectar con una tabla dbf, sin interferir en
>>los programas externos que la estén utilizando y sacar un unico
>>registros de ella.
>>
>>Gracias de nuevo.
>>
>>Un saludo.
>>
>>Jose19i
>>
>>Sebastian E. Garcia wrote:
>>
>>>Tienes la posibilidad de crear un objeto COM+ con VFP? Si puedes hacer
>
> eso,
>
>>>instalas la DLL en el servidor remoto y desde tu ASP solo tienes que
>
> hecer
>
>>>un CREATEOBJCT para instanciar el objeto y correr los procedures que
>>>consideres necesario. Es lo mas sencillo para tu caso, creo.
>>>
>>>Sebastian
>>>
>
>
>
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida