Pregunta

Comúnmente usamos MS Visual Foxpro v9.0 SP1, el lenguaje, las tablas y los informes. Sin embargo, a veces usamos un controlador ODBC para conectarnos a las tablas. El controlador ODBC se escribió para Foxpro v6 y no admite ciertas selecciones anidadas, campos de aumento automático o conversiones incrustadas.

Nos gustaría encontrar una alternativa a lo que tenemos. Podría ser otro controlador ODBC que funcione con Visaul Foxpro v9, o una alternativa completa a ODBC. ¿Existe tal cosa?

Gracias.

¿Fue útil?

Solución

(Hable acerca de la reutilización, acabo de responder esto en otro hilo hoy)

Si está buscando un controlador ODBC para bases de datos y tablas VFP, puede considerar buscar en Advantage Database desde iAnywhere. Tienen un motor local y un motor de servidor. El motor local tiene el motor para acceder a los datos DBF, pero para su caso, también tiene una unidad ODBC que funciona con datos VFP hasta el actual Visual FoxPro 9. El motor local y el controlador ODBC incluido son gratuitos.

http://www.sybase.com/ianywhere

Otros consejos

Puede hacerlo a través de COM + y hacer casi cualquier cosa en VFP, sin embargo, tiene problemas de seguridad a través de Herramientas de administración, Servicios de componentes ...

Puede compilar como una DLL de subproceso único o multiproceso.

Una vez registrado, y la información de la biblioteca de tipos es " Añadir referenciada " a una aplicación C # (u otra), puede realizar llamadas de función con los parámetros que necesite. Hay muchas cosas que puede devolver, pero generalmente las tablas, las envío de regreso como XML (a través de la clase XMLAdapter de Foxpro), luego la conversión de flujo a una tabla una vez en C #. Ha pasado un tiempo desde que lo trabajé de esa manera, pero eso le da una gran flexibilidad, ya que puede hacer sus consultas, escanear bucles y otras pruebas condicionales complejas y actualizar el cursor antes de generar el XML y devolverlo como una cadena.

DEFINE CLASS YourClass as CUSTOM  OLEPUBLIC
  FUNCTION GetMyData( lcSomeString as String)
    select * from (YourPath + "SomeTable" ) where ... into cursor C_SomeCursor readwrite
    .. any other manipulation, testing, etc...
    oXML = CREATEOBJECT( "xmladapter" )
    lcXML =  ""
    oXML.AddTableSchema( "C_SomeCursor" )
    oXML.ToXML( "lcXML", "", .f. )

    return lcXML
  ENDFUNC 
ENDDEFINE
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top