cs_jchp
Messages postés2Date d'inscriptionmardi 4 novembre 2003StatutMembreDernière intervention 5 novembre 2004
-
5 nov. 2004 à 10:05
cs_jchp
Messages postés2Date d'inscriptionmardi 4 novembre 2003StatutMembreDernière intervention 5 novembre 2004
-
5 nov. 2004 à 11:50
Bonjour
Je tente de développer une classe utilisant MS ADO v2.8. Cette classe doit permettre une connexion et les quelques fonctions simplifiées de manipulation des données : ouveture, fermeture, exécution d'une commande Sql, récupération du résultat d'une requète dans un recordSet etc. Je souhaite que cette classe puisse permettre de travailler sur différentes base : Access, Oracle et MSSql.
Ma classe fonctionne parfaitement sur Access et MSSql.
Mon problème est que la méthode
ADODB.Recordset.open <requète>, <Connection>, <CursorType>
ne me renvoie jamais rien lorsque que je suis (correctement ?)connecté à une base Oracle.
-------------------------------------------------------------
La fonction incriminée :
-------------------------------------------------------------
Public Function OpenSQL(ByRef Rs As ADODB.Recordset, _
ByVal sReq As String, _
Optional CursorType As ADODB.CursorTypeEnum = adOpenStatic, _
Optional LockType As ADODB.LockTypeEnum = adLockReadOnly _
) As Boolean
' ouverture d'une requête SQL
On Error GoTo ErrOpenSQL
Rs.Open sReq, Cnx, CursorType, LockType, adCmdText
DoEvents
OpenSQL = True
Rs.MoveFirst
Exit Function
ErrOpenSQL:
OpenSQL = False
TraceErreurADO
End Function
-------------------------------------------------------------
Exemple de connexion Access qui fonctionne:
-------------------------------------------------------------
Exemple de connexion Oracle qui ne fonctionne pas :
"Provider=MSDASQL.1;Password=tiger;Persist Security Info=True;User ID=APPLI;Data Source=OracleBase"
-------------------------------------------------------------
Mon driver Oracle est :
Oracle ODBC Driver v8.01.07.00
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 5 nov. 2004 à 10:26
Salut,
Essaie de changer de provider pour la chaine de connection.
Essaie :
- SQLOLEDB
- Ou MSDAORA
J espere que ca t avancera un peu
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
cs_jchp
Messages postés2Date d'inscriptionmardi 4 novembre 2003StatutMembreDernière intervention 5 novembre 2004 5 nov. 2004 à 11:50
Merci
Je viens en effet de trouver ceci sur une page internet :
Provider=OraOLEDB.Oracle
et cela fonctionne !
J'ai été incapable de retrouver ceci par la construction de la chaîne de connection avec un composant de type ADODC, et ce quelque soient les combinaisons.
Comment retrouver cette information ?
Où retrouve-t-on cette chaîne "OraOLEDB.Oracle" ?