FoxPro/Visual FoxPro - Conectar dos bases de datos foxpro 9.0

 
Vista:
Imágen de perfil de Julio
Val: 29
Ha aumentado 1 puesto en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Conectar dos bases de datos foxpro 9.0

Publicado por Julio (12 intervenciones) el 02/01/2017 22:09:55
Saludos

La empresa posee un sistema en VFP 9 con su respectiva base de datos en esa misma plataforma; necesito crear una base de datos de vistas remotas de ella pero sin utilizar conexiones ODBC, para evitar las molestias de tener que crear una cada vez que instalen una maquina o la formateen (algo que hacen con mucha frecuencia).

Para poner todo mas claro, supongamos que la base de datos se encuentra en la siguien ruta: c:\sistema\datos\
y se llema data_orig (quedría algo asi como esto: c:\sistema\datos\data_orig.dbc) ,
y necesito crear otra en otra carpeta c:\sistema\datos2 (quedaría c:\sistema\datos2\imagen.dbc).

La base de datos data_orig contiene tablas en formato .dbf mientras que la base de datos debe contener vistas remotas de estas tablas.


Reitero que no quiero usar conexiones ODBC, sino mas bien algo asi como las conexiones que se emplean en PHP

Gracias por cualquier ayuda que me puedan brindar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Julio
Val: 29
Ha aumentado 1 puesto en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Conectar dos bases de datos foxpro 9.0

Publicado por Julio (12 intervenciones) el 05/01/2017 18:27:07
Quiero conectarme con una base de datos de visual foxpro pero sin recurrir a una conexión ODBC, pensaba en una cadena de coexión pero mi experiencia con eso es nula
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Conectar dos bases de datos foxpro 9.0

Publicado por Saul (728 intervenciones) el 06/01/2017 15:30:06
Hola Julio:

Si comprendo lo que quieres hacer, pero el tema es como abres tus tablas ??

Es decir hay varias formas por si no lo sabias, cuando hablas de ODBC, estamos hablando de una conexión no nativa de Visual Fox Pro.
aunque al igual se pude, la verdad no es necesario hacer una ODBC para conectarse a una base de datos nativa de VFP.

Ahora bien como abres tus tablas, que tambien hay varias formas, una de ellas es usar el comando USE, otra es directamente en el Environment de cada Form poder Abrir allí tu tabla como si fueran unas vistas (aunque te digo no son vistas son tablas.dbf)

Te voy a dar un ejemplo de como lo hago yo y tu decides luego como es lo que mas te parese ok.

1
2
3
4
5
6
7
8
*- Este ejemplo es usar el comando USE.
*- Una vez abres una tabla, automáticamente te abre la base de datos dbc
 
_OpN = 'backup\bases001\b03.dbf'
_OpN2 = 'bases001\b03.dbf'
 
USE c:\aperson\aromascreativos\sistemas\&_OpN IN 0 SHARED
USE c:\aperson\aromascreativos\sistemas\&_OpN2 IN 0 SHARED

Espero te ayude saludos

Sha
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 29
Ha aumentado 1 puesto en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Conectar dos bases de datos foxpro 9.0

Publicado por Julio (12 intervenciones) el 06/01/2017 18:33:02
Lo que quiero es crear una base datos pero de vistas remotas de la base de datos original, lo menos que espero es manipular diractamente las tablas mas bien trabajar por capas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Conectar dos bases de datos foxpro 9.0

Publicado por Saul (728 intervenciones) el 06/01/2017 20:02:14
mmmm Base de datos de Vistas Remotas..

????


jajaja disculpa que riaa me dio mucha curiosidad, eso como para que joven, eso es igual a pagar un bus que te lleve a un lugar y te vas a pie..

Eso no existe lo que tu quieres.

según tengo entendido en Visual Fox existe lo siguiente

a) Tablas Libres
b) Tablas Remotas que vienen de otra base de datos son como vistas nada mas (pero no son Base de datos)
c) Base de Datos Nativa que solo sirve para administrar el comportamiento de las tablas
d) Conectarse a Cualquier base de datos y hacer diferentes consultas que Visual Fox las utiliza como Vistas (como tablas no editables)
este concepto lo vez en .Net y son RecordSet

e) Puedes Crear vistas en tu Base de Datos, como tal.

Pero de Hacer una base de datos únicamente para vistas y que esos datos vengan de otro lado ?? no entiendo como para que este concepto..

Simplemente pégate a otra base de datos.. (si es Nativa de vfp, no tienes que hacer ningún conector), haces una consulta y listo.
tienes tu vista, así de simple.


mira este link

https://msdn.microsoft.com/es-es/library/cc483487(v=vs.71).aspx
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 29
Ha aumentado 1 puesto en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Conectar dos bases de datos foxpro 9.0

Publicado por Julio (12 intervenciones) el 06/01/2017 22:10:51
Pues si; las vistas remotas son cursores que puedes manejar como tablas. El mismo principio de una vista local solo que pueden ser creadas desde VFP a partir de cualquier SGBD. Puedes tenes una base de datos de Posrgresql y manipularla desde VFP como si fuesen nativas y con todas la facilidades que esta plataforma ofrece (yo lo he hecho con MySQL, Access y PGSQL).

Por eso se llaman remotas,es un concepto algo viejo pero siempre ha sido útil.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Conectar dos bases de datos foxpro 9.0

Publicado por erick (1 intervención) el 28/02/2022 20:47:22
Buenas tardes, necesito ayuda por favor. Tengo una aplicación muy grande en VFP, y me pidieron desarrollar otra por aparte. Están en el mismo servidor, pero ahora me piden que al momento de salvar los datos en la apliación1 , los mismo datos se "transmitan" a la aplicación2,

Intenté hacerlo desde la aplicación1 con estos comandos
OPEN DATABASE C:\TCFGAS\DATA\TCFGAS.DBC SHARED
USE C:\TCFGAS\DATA\EGRESOS SHARED

Funciona siempre y cuando la aplicación2 no esté en uso. Me podrías ayudar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Leonardo Daniel A.
Val: 1.115
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Conectar dos bases de datos foxpro 9.0

Publicado por Leonardo Daniel A. (497 intervenciones) el 06/01/2017 22:57:53
Es algo como asi

1
2
3
4
5
6
7
8
9
10
11
12
lcDbc = "c:\inventarios\data\inventarios.dbc"
 
lcCon =" [Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=" + lcDbc +
              ";Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO]"
 
lnConexion=SQLSTRINGCONNECT(lcCon)
 
if lnConexion <0
   wait window nowait "Hubo un error en la conexi n......."
else
    ? SQLStringConnect( lcCon )
endif
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Julio
Val: 29
Ha aumentado 1 puesto en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Conectar dos bases de datos foxpro 9.0

Publicado por Julio (12 intervenciones) el 07/01/2017 02:52:32
Algo era lo que yo esperaba, dejeme chequear
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 29
Ha aumentado 1 puesto en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Conectar dos bases de datos foxpro 9.0

Publicado por Julio (12 intervenciones) el 07/01/2017 04:10:58
Amigo Leonardo tal como usted lo escribió me da un mensaje de error (falta un operando), lo escribí de la siguiente forma y funcionó:

1
2
3
4
5
6
7
8
9
10
11
lcDbc = "c:\fast\datos\foof.dbc"
 
lcCon =" [Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=" + lcDbc +";Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO]"    { <- TODO EN UNS SOLA LINEA ->}
 
lnConexion=SQLSTRINGCONNECT(lcCon)
 
if lnConexion <0
   wait window nowait "Hubo un error en la conexion......."
else
    ? SQLStringConnect( lcCon )
endif


y al final me pide el nombre de un origen de datos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Leonardo
Val: 1.115
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Conectar dos bases de datos foxpro 9.0

Publicado por Leonardo (497 intervenciones) el 07/01/2017 04:54:58
Hola.... Mm fijate que eso lo encontré buscando en Google, no tengo Visual FoxPro instalado de momento, deje de programar en el ya hace muchísimo tiempo, pero una vez lo logre, y ademas estoy de vacaciones, hasta el lunes regreso, por ahí debo tener el programa entre mis reliquias... Siento no poder ayudar mas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Conectar dos bases de datos foxpro 9.0

Publicado por Saul (728 intervenciones) el 09/01/2017 18:01:06
Hola Julio:

Prueba este código.. tal cual esta, no uses comillas como en el SQL SERVER, para hacer el connect string

1
2
3
4
5
6
7
8
9
10
11
lcDbc = "c:\Sistemas\TuData.DBC"
 
lcConnectionString = [Driver=Microsoft Visual FoxPro Driver; UID=; PWD=; SourceDB=&lcDbc; SourceType=DBC; Exclusive=No; BackgroundFetch=No; Collate=Machine; Null=Yes; Deleted=Yes;]
 
nMyNewHandle = SQLSTRINGCONNECT(lcConnectionString)
 
if nMyNewHandle <0
   wait window nowait "Hubo un error en la conexion......."
else
   wait window nowait "Conexión Exitosa."
ENDIF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 29
Ha aumentado 1 puesto en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Conectar dos bases de datos foxpro 9.0

Publicado por Julio (12 intervenciones) el 09/01/2017 19:42:06
Amigo no es SQLSERVER, es Visual Foxpro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Conectar dos bases de datos foxpro 9.0

Publicado por Saul (728 intervenciones) el 13/01/2017 19:11:16
A quien le hablas.. ??

Eso que te envié en Vfp..

Por eso te comento que tu requerimiento como que no lo haces bien.

Si es SQLSERVER View puedes hacer un string como el que te comento.

Ahora si quieres conectar dos Bases de Datos puramente de Visual fox, no es necesario hacer conexión,
lo que te estoy enviando es por si estas acostumbrado a utlizar Record Set


Mejor plantea bien tu requerimiento.

Sha
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 29
Ha aumentado 1 puesto en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Conectar dos bases de datos foxpro 9.0

Publicado por Julio (12 intervenciones) el 14/01/2017 15:11:13
No te molestes, efectivamente si tenía un error. Ya lo probé y funciona perfectamente. Eso era lo que estaba buscando... muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Conectar dos bases de datos foxpro 9.0

Publicado por Oscar (2 intervenciones) el 01/02/2017 21:53:14
Oye, en serio que te la jalaste (disculpa la expresión) , pero no necesitas hacer todo eso para conectarte a un archivo dbc solo con que uses el comando USE lo puedes abrir
USE "c:\sistemas\mibd.dbc" y ya la tienes lista para usar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar