Echange oracle foxpro

panterga Messages postés 67 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 5 février 2012 - 22 avril 2008 à 13:26
panterga Messages postés 67 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 5 février 2012 - 25 avril 2008 à 01:07
bonjour
je ne
suis pas un spécialiste d'oracle   mais je recherche un bout de
programme me permettant via foxpro 9 de me connecter une base oracle
pour en extraire des données (type adresse) , quelqu'un ou quelqu'une
peut il me renseigner  merci d'avance ... (en lecture de la base oracle seulement)

5 réponses

michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
22 avril 2008 à 13:49
Bonjour,

le plus simple est de créer une vue ou un cursoradapter. Dans les 2 cas, il te faudra te connecter à ta base de données sur ton serveur Oracle.
Tu trouveras sur ConnectionStrings.com les chaines de connexion ODBC et OleDB.

Si tu veux utiliser les vues distantes, tu commences par te créer un dbc, et tu lui ajoutes une connexion avec la chaine de connexion correcte. Puis tu crées tes vues distantes sur cette connexion, tout se fait à la souris par l'intermédiaire des assistants.
Tu réutilises ensuite ces vues dans tes programmes, comme si c'était des tables (use mondbc!mavue in 0)

Si tu veux utiliser les cursoradapter, tu vas passer par l'explorateur de données, dans lequel tu vas créer une nouvelle connexion (toujours avec la chaine correecte) sur le database de ton serveur Oracle. A partir de là, tu verras toutes les tables de ce database dans l'arborescence de l'explorateur de données. Tu sélectionnes la table de ton choix à la souris (click dessus), et un simple drag-and-drop vers une fenetre de code va générer toutes les lignes de programme nécessaires pour construire et instancier un cursoradapter.
0
panterga Messages postés 67 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 5 février 2012 1
22 avril 2008 à 20:22
bonsoir
je te remercie de ta réponse   quel est ton avis ?  la situation est la suivante :  je n'ai pas oracle , je dois me connecter sur une base oracle d'un client à travers mon programme , le client peut me donner un exemple de requete sql qu'il a developpé pour se connecter à cette base oracle via un prg qu'il a développé , mais je ne sais pas avec quel logiciel de dev .   merci de ta réponse ...
0
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
22 avril 2008 à 20:38
Une requète SQL ne se connecte pas à une base de données, elle extrait des données une fois que la connexion est établie.
Et cette connexion repose sur une chaine (la connectstring), que tu peux stocker dans un DSN fichier, ou un DSN local, ou dans un fichier txt, ou un fichier ini, ou une entrée de la base de registre... tout dépend du degré de sécurité souhaité.

Est-ce que tu peux atteindre cette base Oracle (celle de ton client) depuis ton poste de développement? si oui, tu peux facilement tester tes codes de requètes (comme je te l'indiquais précédemment, avec des vues ou des cursoradapter). Et ensuite, il te suffit de mettre ces vues ou ces cursoradapters dans ton programme.

Si tu ne peux pas atteindre cette base Oracle, il te faut au moins connaitre la structure exacte des tables que tu dois requéter. Il faut que ton client t'envoie un script de ces tables. Une fois que tu as ce script, il ne te reste plus qu'à recréer un database localement sur ta machine de dev (ou sur une machine accessible depuis ton poste de dev). Tu peux télécharger une version gratuite d'Oracle (ça s'appelle Oracle Express), et tu prépares tout ton programme en requétant cet Oracle local, et il te suffira de changer de chaine de connexion pour passer en production chez ton client.
0
panterga Messages postés 67 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 5 février 2012 1
25 avril 2008 à 00:24
bonsoir
j'ai donc essayé   gloups

voici :

Driver={Microsoft ODBC for Oracle};Server=xe;Uid=SYSTEM;Pwd=panter;  ce que j'ai mis dans la ligne de connection  , auparavant n'ayant pas oracle
 j'ai telechargé oracle express 10 g et j'ai créé une table  . par contre je ne suis pas sur du nom de serveur   quand je verifie la connection voici ce que j'obtiens :
le client et les composants reseau Oracle n'ont pas été trouvés.Ces comosants sont fournis par Oracle Corpo et font partie de l'installation logicielle client Oracle version 7.3 ou ulter  Vous ne pourrez pas utiliser ce pilote tant que ces comosants n'auront pas été installés.

puis aprés OK

Connectivity error :[microsoft] [Gestionnaire de pilote ODBC] Echec SQL AllocHandle du pilote SQL_HANDLE_ENV

voilà ensuite plus rien .... je suis un peu perdu  ,  je pense que mon nom de server  n'est pas bon ou que les pilotes odbc pour oracle ne sont pas installés
bien que je les vois dans mon system rubrique odbc  (je suis sous vista intégral)   merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
panterga Messages postés 67 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 5 février 2012 1
25 avril 2008 à 01:07
bon  petite erreur  je n'ai pas pris la bonne connection

Driver=(Oracle in XEClient);dbq=127.0.0.1:8080;Uid=SYSTEM;Pwd=panter;

mais bon cela change un peu  mais quand on verifie :
Source de données introuvable et nom de pilote non spécifié   !!!  bon oui heu ????

qu'est ce que dbq ?

merci
0
Rejoignez-nous