Question

Nous utilisons couramment MS Visual Foxpro v9.0 SP1, le langage, les tables et les rapports. Cependant, nous utilisons parfois un pilote ODBC pour nous connecter aux tables. Le pilote ODBC a été écrit pour Foxpro v6 et ne prend pas en charge certaines sélections imbriquées, champs auto-incrémentés ou conversions incorporées.

Nous aimerions trouver une alternative à ce que nous avons. Il peut s'agir d'un autre pilote ODBC fonctionnant avec Visaul Foxpro v9 ou d'une alternative complète à ODBC. Y a-t-il une telle chose?

Merci.

Était-ce utile?

La solution

(Parlez de la réutilisation, venez de répondre à cela dans un autre fil de discussion aujourd'hui)

Si vous recherchez un pilote ODBC pour les bases de données et les tables VFP, vous pouvez envisager de consulter Advantage Database à partir de iAnywhere. Ils ont un moteur local et un moteur de serveur. Le moteur local a le moteur pour accéder aux données DBF, mais dans votre cas, il possède également un lecteur ODBC qui fonctionne avec les données VFP jusqu'au Visual FoxPro 9 inclus, y compris le pilote actuel. Le moteur local et le pilote ODBC inclus sont gratuits.

http://www.sybase.com/ianywhere

Autres conseils

Vous pouvez utiliser COM + et faire pratiquement n'importe quoi dans VFP. Toutefois, vous rencontrez des problèmes de sécurité dans les outils d'administration, les services de composants ..

Vous pouvez créer une DLL mono-thread ou multi-thread.

Une fois inscrit, les informations sur la bibliothèque de types sont "Ajouter un référencé". dans une application C # (ou autre), vous pouvez effectuer des appels de fonction avec les paramètres de votre choix. Il y a beaucoup de choses que vous pouvez renvoyer, mais généralement, les tables, je les renvoie en XML (via la classe XMLAdapter de Foxpro), puis la conversion de flux en une table une fois en C #. Cela fait longtemps que je ne travaille pas ainsi, mais cela offre une grande souplesse, car vous pouvez effectuer vos requêtes, des boucles d'analyse et d'autres tests conditionnels complexes et la mise à jour du curseur avant de générer le code XML et de le renvoyer sous forme de chaîne.

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top