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

Transfert de données entre Exchange et oracle

4 réponses
Avatar
Massogne
Dans le cadre de notre projet, nous souhaitons mettre en place une interface
de synchronisation entre le une application sous Oracle Application et
Exchange Server (2003 avec Outlook 2003).

Les utilisateurs de l'application Oracle créent des tâches et des
rendez-vous qui sont stockés dans la base de données Oracle. L'objectif est
de réaliser une moulinette permettant de récupérer ces tâches directement et
les exporter vers les comptes Exchange des utilisateurs cibles. Une fois le
Rdv effectué ou la tâche réalisé, l'information est remontée depuis Exchange
vers la base de données Oracle.

Toutes vos idées et suggestions sont les bienvenues.

Merci d'avance pour votre aide.

M.

4 réponses

Avatar
Thierry DEMAN [MVP]
Bonsoir,

sur le site MSDN de Microsoft, se trouvent quelques exemples de programmation des agendas basés sur WebDav!
D'autres solutions basées sur la réception de messages envoyés par Oracle et traités par un "event sink" peuvent être envisagés.

A bientôt,
--
Thierry DEMAN-BARCELÒ
MVP Exchange, SQL/Server
MCSE2003+M+S,MCSE+I,MCDBA
http://ofniorcim.dyndns.org
http://faqexchange.dyndns.org

"Massogne" a écrit dans le message de news: %23XnlWnA$
Dans le cadre de notre projet, nous souhaitons mettre en place une interface de synchronisation entre le une application sous
Oracle Application et Exchange Server (2003 avec Outlook 2003).

Les utilisateurs de l'application Oracle créent des tâches et des rendez-vous qui sont stockés dans la base de données Oracle.
L'objectif est de réaliser une moulinette permettant de récupérer ces tâches directement et les exporter vers les comptes Exchange
des utilisateurs cibles. Une fois le Rdv effectué ou la tâche réalisé, l'information est remontée depuis Exchange vers la base de
données Oracle.

Toutes vos idées et suggestions sont les bienvenues.

Merci d'avance pour votre aide.

M.




Avatar
Massogne
Merci pour votre réponse.
Pourriez vous m'indiquer par des liens où se trouvent ces exemples ?

Cordialement,

M.

"Thierry DEMAN [MVP]" a écrit dans le message
de news: ufi4n52$
Bonsoir,

sur le site MSDN de Microsoft, se trouvent quelques exemples de
programmation des agendas basés sur WebDav!
D'autres solutions basées sur la réception de messages envoyés par Oracle
et traités par un "event sink" peuvent être envisagés.

A bientôt,
--
Thierry DEMAN-BARCELÒ
MVP Exchange, SQL/Server
MCSE2003+M+S,MCSE+I,MCDBA
http://ofniorcim.dyndns.org
http://faqexchange.dyndns.org

"Massogne" a écrit dans le message de news:
%23XnlWnA$
Dans le cadre de notre projet, nous souhaitons mettre en place une
interface de synchronisation entre le une application sous Oracle
Application et Exchange Server (2003 avec Outlook 2003).

Les utilisateurs de l'application Oracle créent des tâches et des
rendez-vous qui sont stockés dans la base de données Oracle. L'objectif
est de réaliser une moulinette permettant de récupérer ces tâches
directement et les exporter vers les comptes Exchange des utilisateurs
cibles. Une fois le Rdv effectué ou la tâche réalisé, l'information est
remontée depuis Exchange vers la base de données Oracle.

Toutes vos idées et suggestions sont les bienvenues.

Merci d'avance pour votre aide.

M.







Avatar
g17254
Bonjour,
Nous avons traité le même sujet sur un projet durant ces quatres semaines.
Ce projet a été développé en VB6.
Utiliser le bout de code fournit pour retrouver le code source sur les forums.

La solution proposé n'a pas encore été discuté. Je ne sais pas si c'est la
bonne méthode pour répondre à ce besoin. Des réunion avec des experts
exchanges vont me permettre d'ajuster mes développments.

La création de la tâche a posée le plus de problème.
Le but est de créer une tâche, un rdv et d'envoyer un mail sur un compte
utilisateur délégué (User A délégue sa boîte aux lettres à un utilisateur
avec pouvoir exécutant un coposant COM+)

1. Synchro Oracle vers Exchange Server 2003
----------------------------------------------------
- Création de la tâche utilisant le code de Rizzo
Private Const cdoTaskStartDate = "http://schemas.microsoft.com/mapi/id/" & _
"{00062003-0000-0000-C000-000000000046}/0x8104" 'PT_SYSTIME
...
=> Attention
Dans le code source remplacer 0x00008104 par 0x8104.
- Création du rendez-vous utilisant CDO.appoitment

Public Function CreateAppointment() As Boolean
Dim cnn As ADODB.Connection
Dim iPer As CDO.Person
Dim oAppt As CDO.Appointment
Dim iAttn As Attendee
Dim I As Integer
Dim iAddr As CDO.Addressee
Dim iMbx As CDO.IMailbox

On Error GoTo ErrorHandler
'Specify the current user you want
Set iAddr = New CDO.Addressee
iAddr.EmailAddress = sAddrEMail
iAddr.CheckName "LDAP://" & sServerName

'Open user mailbox (delegate)
Set iPer = New CDO.Person
iPer.DataSource.Open iAddr.DirURL

'Set the mail box user
Set iMbx = iPer.GetInterface("IMailBox")

'Create the new appointment
Set oAppt = New CDO.Appointment

With oAppt
.Fields(propOutlookMessageClass).Value = cstIPMAppointment

.Subject = sSubject
.TextBody = sText
.StartTime = dDebut
.EndTime = dEcheance
.Location = sLocation

.Priority = cdoPriorityNormal
.ResponseRequested = False

'Populate collection with invitees
If sAddrEmailTo <> "" Then
For I = 1 To GetNbOccurInString(sAddrEmailTo, ";")
Set iAttn = .Attendees.Add
sAddrEMail = Trim(ExtractOccurInString(sAddrEmailTo, ";", I))
iAttn.Address = sAddrEMail
iAttn.Role = cdoRequiredParticipant
Next I
If sAddrEMailCc <> "" Then
For I = 1 To GetNbOccurInString(sAddrEMailCc, ";")
Set iAttn = .Attendees.Add
sAddrEMail = ExtractOccurInString(sAddrEMailCc, ";", I)
iAttn.Address = sAddrEMail
iAttn.Role = cdoOptionalParticipant
Next I
End If
End If

End With

oAppt.Fields.Update

'Save the appointment
Set cnn = New ADODB.Connection
cnn.Provider = "EXOLEDB.DataSource"
cnn.Open iMbx.BaseFolder
oAppt.DataSource.SaveToContainer iMbx.Calendar, cnn

sAppointmentID = oAppt.Fields(propCalUId).Value
CreateAppointment = True

Ending:
On Error Resume Next
Set cnn = Nothing
Set oAppt = Nothing
Set iMbx = Nothing
Set iPer = Nothing
Set iAddr = Nothing
Exit Function
ErrorHandler:
On Error Resume Next
Call ErrorLog("CDOClass.StartConnection", Err.Number & vbTab &
Err.Description, "")
CreateAppointment = False
Resume Ending
End Function

- Envoi d'un mail
Utiliser les fonctions que vous souhaitez.

2. Synchro Exchange Server 2003 vers Oracle
-----------------------------------------------------
Le but est de récupérer le statut de la tâche modifiée.

- Utilisation des events Sink :

' The following line causes this class to function as an Event Sink for
Asynchronous Store Events.
Implements Exoledb.IExStoreAsyncEvents

' The following line causes this class to function as an Event Sink for
Synchronous Store Events.
Implements Exoledb.IExStoreSyncEvents

'The following line causes this class to function as an Event Sink for
systemwide Store Events.
Implements Exoledb.IExStoreSystemEvents

'The next line causes this class to act as an event sink that gets called
whenever an event registration is created.
Implements ICreateRegistration
...

Voici quelques liens utiles pour développer des fonctionnalités autour
d'Exchange 2003 :

- Télécharger le SDK d'Exchange permettant de manipuler les objets Exchange
2003. Il contient de la documentation et des exemples de codes sources :
http://www.microsoft.com/downloads/details.aspx?FamilyIdçE34B5B-01B0-45ED-B91F-F7064875D379&displaylang=en
(le fichier readme de ce SDK est en fichier attaché à ce mail). Les exemples
fournis utilisent les APIs ADSI (Active Directory Services Interface) et
CDOEXM (Collaborative for Exchange Management).

- Explorer le SDK en ligne :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/e2k3_welcome_to_exchange.asp

- Accéder à la librairie technique d'Exchange :
http://www.microsoft.com/technet/prodtechnol/exchange/2003/library/default.mspx

- Accéder à la rubrique MSDN consacrée à Exchange :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnanchor/html/exchangesvr.asp

3. Initialisation du compte de messagerie dans Oracle (Ressources) issue de AD
--------------------------------------------------------------------------------------------
Le but est de mettre à jour la table des ressources Oracle avec l'adresse
e-mail du compte utilisateur. Le matricle correspod à la clé externe.

Important : Pour réussir à utiliser les "event sink", il est nécessaire
d'enregitrer le déclencheur (trigger) dans le dossier tâche du compte
utilisateur délégué.
Pour cela, j'ai utilisé la fonction "event registration" fournit sur
Exchange SDK.

G17254
Avatar
g17254
Bonjour,
Le précédent article présente la solution à notre besoin de synchronisation
d'Exchange Server 2003 avec les tâches d'Oracle E-Businness.

Question :
En utilisant le code fournit par Rizzo pour créer une tâche, je crée
correctement ma tâhe sur le dossier "Task".
J'utilise les propriétés suivantes :
Private Const cdoTaskStartDate = "http://schemas.microsoft.com/mapi/id/" & _
"{00062003-0000-0000-C000-000000000046}/0x8104" 'PT_SYSTIME
Private Const cdoTaskDueDate = "http://schemas.microsoft.com/mapi/id/" & _
"{00062003-0000-0000-C000-000000000046}/0x8105" 'PT_SYSTIME
...
'Set core Task props
TaskItem.Fields.Item(cdoTaskStartDate).Value = dDebut
TaskItem.Fields.Item(cdoTaskDueDate).Value = dEcheance
...
=> Sur le client OUtlook, les dates de début et d'échéance sont visibles
, mais pas visible sur OWA ? Qu'elle propriété supplémentaire faut-il
mêttre à jour ?

En vous remerciant par avance.

G17254