2017-09-06 4 views
0

De quelle façon puis-je accéder à une autre base de données (pas OpenEdge) via ODBC à partir d'OpenEdge sans utiliser DataDirect?ODBC à partir d'OpenEdge sans DataDirect?

Le cas d'utilisation est la migration de données d'un système à un autre, donc les performances ne peuvent pas être complètement négligées, mais c'est une chose qui peut prendre un peu plus de temps.

Pourquoi sans DataDirect? Coût supplémentaire. Notre client n'a pas la licence. Pourquoi ne pas vider et charger (via CSV f.e.)? Le client ne veut pas effectuer le mappage entre les systèmes de cette façon mais avec les vues de base de données.

Répondre

-1

En regardant le site il y a des pilotes ODBC téléchargeables pour la plupart des plates-formes:

https://www.progress.com/odbc/openedge

+0

C'est l'inverse. Je ne veux pas me connecter à la base de données OE mais à la plate-forme OpenEdge. – Jan

1

Pour autant que je sais qu'il n'y a aucun moyen d'accéder directement à d'autres bases de données si vous ne l'utilisez DataDirect ou quelque chose comme DataServer pour Oracle, etc.

Cependant, vous pouvez appeler une tierce partie bibliothèque ODBC comme des fonctions externes, et écrivez votre Manipulez vos requêtes à la base de données en accédant à l'étranger. Cela ne vous permettra pas d'utiliser des constructions OpenEdge comme FOR EACH, tampons, etc., mais il vous permettra de récupérer les données et les traiter à l'aide des fonctions personnalisées, puis insérez dans les tables OpenEdge etc.

Voir la KB suivante pour l'accès aux fonctions de bibliothèque externes: https://knowledgebase.progress.com/articles/Article/P183546

une autre approche que vous pouvez utiliser, en supposant que vos tables sont OpenEdge déjà, est d'utiliser le pilote OpenEdge SQL92 ODBC d'une autre langue (C/VB/Java/tout ce qui fonctionne pour vous), et lire les données de la base de données source et les insérer dans OpenEdge via SQL92 ODBC.