FoxPro/Visual FoxPro - Consulta sobre ODBC

 
Vista:

Consulta sobre ODBC

Publicado por Juany (325 intervenciones) el 14/12/2010 02:07:23
Leyendo en el otro foro, comentaban que se puede mejorar la performance (o mejor dicho, sacar todo el provecho posible) si uno utiliza una conexión ODBC

Si bien tengo un sistema donde me conecto directamente (bases nativas de Fox), antes de ponerme de lleno al sistema Cliente-Servidor, necesitaría saber si existe alguna forma de lograr esto:

BASES NATIVAS -> ODBC -> ACCESO A BASES POR ODBC.

Es decir, si hay alguna manera de trabajar con las bases leídas por ODBC sin cambiar tanto código.

Por ejemplo, si mi tabla se llama CLIENTES, puedo acceder al campo NOMBRE mediante

CLIENTES.NOMBRE

La idea es saber si hay alguna forma de acceder mediante conexión (u otra forma) de manera de que sea

CONEXION.CLIENTES.NOMBRE

Muchas gracias por cualquier información

Juany
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

RE:Consulta sobre ODBC

Publicado por Roberto (124 intervenciones) el 14/12/2010 14:38:27
Juany,

Sin ODBC, ya que deberias configurar en cada maquina el ODBC. Estas instrucciones son mas directas.

Suponiendo que tienes una conexion SQL SERVER

STORE SQLSTRINGCONNECT("DRIVER={SQL SERVER};Pwd=aqui_password;UID=aqui_Usuario;DATABASE=aqui_BaseDatos;server=aqui_P") TO ln

SQLEXEC(ln, "SELECT Clientes.* FROM Clientes", "PasoClientes")

Select PasoClientes

.... tus instrucciones y demases

Espero ayudar,

Saludos,

Roberto
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

RE:Consulta sobre ODBC

Publicado por Juany (325 intervenciones) el 14/12/2010 18:53:59
Gracias Roberto.

Lo que pasa es que tengo que trabajar sobre una base que ya tiene conexión ODBC de VFP porque otro programador utiliza los datos de la base principal (hecha en VFP)

¿QUé pasa con los ENTORNOS DE DATOS del programa que ya tengo hecho cuando se trabaja con SQLEXEC???
¿Cómo cargo los cursores en en DataEnvironment??
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

RE:Consulta sobre ODBC

Publicado por Roberto (124 intervenciones) el 15/12/2010 15:41:54
Ok

Veamos lo siguiente, al parecer todas las maquinas que participan en el sistema deberian tener configurada una ODBC.

Por tanto en tu proyecto debes apuntar una Conexion a ese ODBC, donde se supone que traera todas la tablas que tenga esa Base de Datos.

STORE SQLSTRINGCONNECT('dsn=nombredelODBC;uid=usuarioODBC;pwd=passwordODBC') TO ln

IF ln < 0

= MESSAGEBOX('No hay Conexion', 16, 'Error de Conexion')

ELSE

= MESSAGEBOX('Conexion Satisfactoria', 48, 'Eureka')

x = SQLEXEC(ln,'Select Clientes.* from Clientes','ClientesPaso')
SELECT ClientesPaso
browse
= SQLDISCONNECT(ln)

ENDIF

¿QUé pasa con los ENTORNOS DE DATOS del programa que ya tengo hecho cuando se trabaja con SQLEXEC???

Se supone que en el entorno de datos no debes tener tablas que contienen la conexion ODBC o simplemente tablas de paso para mostrar o grabar en forma local.

Cuando usas SQLEXEC, las tablas generadas se cargan automaticamente en el entorno y desaparecen al salir del formulario.

¿Cómo cargo los cursores en en DataEnvironment??

No se de cursores me hablas, pero al hacer el SQLEXEC , en el ejemplo anterior la tabla de ClientePaso se crea automaticamente trayendo los datos echos en la consulta SQL y podras trabajar con esa tabla y hacer lo que parezca, esa tabla se carga automaticamente en el entorno de datos y desaparece cuando cierras el formulario.

Espero ayudar,

Saludos,

Roberto
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

RE:Consulta sobre ODBC

Publicado por Juan Manuel Cruz (512 intervenciones) el 14/12/2010 19:41:05
Lo mejor sería trabajar todas tus fuentes de datos con CURSORADAPTER, así te evitas código redundante, y puedes acceder a cualquier origen de datos sin preocuparte de sus pasrticularidades.
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