Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Connection ODBC Oracle et Proc. Sto.

1 réponse
Avatar
David
Bonjour =E0 tous,

avec Access 97, je suis connect=E9 sur les tables d'un=20
serveur oracle.

Je souhaite faire un DELETE * from Table1
Depuis le vba je lance un docmd.reqquery.
R=E9sultat aux moins deux minute d'attente.

Sur oracle j'enregistre une proc sto qui fait la m=EAme=20
chose (Truncate table Table1).
r=E9sultat 2 secondes d'attente.

Comment je peux faire pour lancer la proc sto enregistr=E9e=20
dans oracle depuis Access.

Merci pour les r=E9ponses


David

1 réponse

Avatar
Rv
Bonjour,

Avec ADO j'utilise cette procédure.
Il faut lui fournir le nom de la proc. stock. et la chaine de connexion.
Pour oracle il faudra sûrement tester plusieurs type de connexion : ODBC,
OLEDB (pour ODBC ou "direct"). Pour créer les chaînes de connexions on peut
utiliser un fichier .udl qui à l'avantage de permettre le test de la
connexion et de générer automatiquement la chaîne de connexion:
. Créer un nouveau fichier monfichier.txt (par exemple).
. Le rennomer en monfichier.udl.
. Ouvrir le fichier monfichier.udl.
. Renseigner au moins les deux premiers onglets puis lancer le test
de la connexion
. Ouvrir le fichier UDL avec un éditeur de texte
. Récupèrer la chaîne de connexion
Attention avec access97 il faut déclarer une référence pour Microsoft ADO2.x
(2.1 ou 2.5 ou 2.7...)

Tiens nous au courant du résultat! Le comparatif selon le choix des pilotes
de connexion m'interesse...

A+

Rv

' Exécution d'une procédure stockée sans paramètres
Sub executeRequeteServeur(strNomProc As String, dim strConnexion As String)
Dim objCommand As New ADODB.Command
Dim objConnexion As ADODB.Connection

' Création de la connexion
objConnexion.Open strConnexion

' Exécution de la proc stock
Set objCommand.ActiveConnection = objConnexion
objCommand.CommandText = strNomProc
objCommand.CommandType = adCmdStoredProc
objCommand.Execute , , adExecuteNoRecords

' Fermeture et libération de la connexion
Set objCommand = Nothing
objConnexion.Close
Set objConnexion = Nothing

End Sub


"David" a écrit dans le message de
news:9e9901c3eafd$f633c800$
Bonjour à tous,

avec Access 97, je suis connecté sur les tables d'un
serveur oracle.

Je souhaite faire un DELETE * from Table1
Depuis le vba je lance un docmd.reqquery.
Résultat aux moins deux minute d'attente.

Sur oracle j'enregistre une proc sto qui fait la même
chose (Truncate table Table1).
résultat 2 secondes d'attente.

Comment je peux faire pour lancer la proc sto enregistrée
dans oracle depuis Access.

Merci pour les réponses


David