Search  
Friday, February 10, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Client/Server  Conectare la Or...
 Conectare la Oracle
 
 8/23/2010 9:45:14 PM
User is offlinedjluc
41 posts


Conectare la Oracle
 (N/A)
Buna ziua.
As dori sa ma conectez cu ajutorului fox-ului (visual foxpro 9) la o baza de date oracle (11g). Care sunt pasii pe care trebuie sa ii urmez?
Poate sa ma ajute cineva cu niste explicatii mai amanuntite sau macar sa imi sugereze unde sa citesc? Nu am foarte multa experienta si inca nu am gasit un exemplu in acest sens.
Banuiesc ca trebuie sa incep cu configurare odbc ... dar mi-ar prinde bine ajutorul vostru.

Va multumesc anticipat!
 8/24/2010 11:01:52 AM
User is offlineDaniel Buduru
2141 posts
1st




Re: Conectare la Oracle
 (N/A)
Ai nevoie de un string de conectare, pe care il poti gasi aici:
http://www.connectionstrings.com/oracle
Daca nu ai un driver ODBC specific instalat, poti folosi driverele Microsoft
Conectarea se face in modul urmator

lcConnString="Driver={Microsoft ODBC Driver for Oracle};ConnectString=OracleServer.world;Uid=myUsername;Pwd=myPassword;"
CLEAR ERROR
nHandle=SQLSTRINGCONNECT(lcConnString,.t.)
IF lnHandle<1 
   AERROR(ae)
   MESSAGEBOX("Eroare la conectare "+TRAN(ae[1])+"   "+ae[2])
ENDIF

Daniel Buduru
 8/24/2010 11:03:30 AM
User is offlineGrigore Dolghin
3521 posts
www.class-software.eu
1st






Re: Conectare la Oracle
 (N/A)
http://www.connectionstrings.com/oracle

Gasesti exemple ale stringului de conectare la sectiunea "Microsoft ODBC Driver".
lcConnectionString = "stringul de conectare in care populezi ip-ul serverului, username si parola"
lnHandle = SQLStringConnect(lcConnectionString)
If lnHandle < 0 && a dat eroare
  AError(laError)
  MessageBox(laError[1,2])
EndIf

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 8/24/2010 11:06:46 AM
User is offlineDaniel Buduru
2141 posts
1st




Re: Conectare la Oracle
 (N/A)
Grig, stii cum se zice cand se spun doi insi acelasi lucru in acelasi timp? "A crapat un drac"

Daniel Buduru
 8/24/2010 12:10:27 PM
User is offlinenae racaru
714 posts
www.rarom.ro
1st




Re: Conectare la Oracle
 (Romania)
Daca doresti contacteaza-ma pe adresa mea de e-mail

VFP 6 si 9 + Oracle
 8/25/2010 1:26:22 AM
User is offlinedjluc
41 posts


Re: Conectare la Oracle
 (N/A)
Va multumesc foarte mult pentru raspunsuri.
Am reusit sa ma conectez, apoi am incercat mai multe lucruri simple precum rulare instructiuni SQL din fox in oracle sau apelare proceduri/functii stocate.
Acum nelamuririle:
- toate acestea le-am realizat cu ajutorul expresiei SQLEXEC - aceasta este varianta buna de urmat? S-au exista si alte metode care ofera mai multe avantaje sau care sunt mai folositoare?
- partea de parcurgere a tabelelor, pe care o faceam pana acum in fox (pentru ca aveam si tabelele tot in fox) destul de simplu cu "scan" sau "if seek() ... scan while ... " unde se va realiza acum? In fox sau in oracle? Si cum e cel mai bine sa fac acest lucru tinand cont ca am tabele destul de mari?

Multumesc frumos!
 8/25/2010 1:57:51 AM
User is offlineDaniel Buduru
2141 posts
1st




Re: Conectare la Oracle
 (N/A)
1. Cu SQLEXEC poti executa orice comanda pe server - nu numai select.
   Intr-un string pasat prin sqlexec poti avea mai multe comenzi - separate, bineinteles, cu terminatorul inteles de server.
   Pentru actualizarea dator pe server poti folosi cursoradapter, iti va face viata mai usoara.

2. In modul de lucru client-server, lucrul cu tabelele ii revine serverului. Aduci la client doar strictul necesar, setul de inregistrarin care intereseaza la un moment dat.
Uita de parcurgerea tabelelor sau cursoarelor cu scan, seek, locate. Invata comenzile sql cu care sa faci prelucrarile si sa filtrezi datele. Aceleasi comenzi pot fi folosite si in vfp, si pe server.
Tabelele pot fi de milioane de linii, si stau pe server. Nu vei avea niciodata nevoie sa aduci o tabela intreaga la client - nimeni nu poate urmari cu ochii mai mult de cateva zeci de linii.
Daca vrei sa cauti ceva, asta nu se face parcurgand tabela cu ochii, ci filtrand tabela dupa criteriile dupa care alegi si cu ochii.
Ori de cate ori ti se va cere sa aduci tabela intreaga sau o mare parte din ea, inseamna ca cel care cere asta nu poate formula criteriile dupa care face cautarea. Solutia nu e sa aduci tabela, ci sa determini criteriile de filtrare si sa aduci strict datele care intereseaza.
Toate prelucrarile datelor se fac pe server, nu pe local. Daca ajungi sa aduci date local, sa le prelucrezi dupa un algoritm, apoi sa le duci inapoi pe server, inseamna ca mai ai de invatat sql.
Daca nu iti vor iesi filtrarile (join si clauza where) asa cum te astepti, de obicei de vina e (ne)tratarea valorii null. Se invata si asta.

Si profita de invitatia pe care ai primit-o.

Daniel Buduru
  Visual FoxPro  Client/Server  Conectare la Or...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement