OVH Cloud OVH Cloud

VB et Mutlook

2 réponses
Avatar
Delphine
Bonjour =E0 tous,

Ne parvenant toujours pas =E0 r=E9soudre le probl=E8me, je me=20
permets de reposter un message, au cas o=F9 quelqu'un=20
connaisant la r=E9ponse passerait par l=E0 :-) Merci d'avance!

Je d=E9veloppe une petite application =E0 usage interne, qui=20
doit faire la correspondance entre notre base de donn=E9es=20
contacts (en Access 2000) et les contacts de Outlook 2000.
L'appli tourne mais, bizzarement, sur le serveur de=20
production (NT4), je me prends des erreurs RPC "Error:=20
0x80070725 (-2147023067)
Description: Incompatible version of the RPC stub.."
Impossible de r=E9soudre ce truc, malgr=E9 les fiches=20
Microsft, les groupes de discussion, ... Toutes les=20
solutions propos=E9es foirent...

Je voudrais donc juste savoir s'il est possible, pour=20
contourner le probl=E8me en installant l'appli sur un autre=20
poste, d'attaquer Outlook "=E0 distance" avec l'objet=20
CreateObject("Outlook.application"), depuis un autre=20
poste que celui o=F9 est le .PST.
Si oui, o=F9 cela doit-il se param=E9trer?
Si quelqu'un a un exemple de code, je suis preneuse...

Mille mercis; bonne journ=E9e,

Delphine

2 réponses

Avatar
Bonjour Delphine,

Désolé, mais ta description du problème est réellement succinte et ne permet
pas vraiment d'approfondir la question !

L'erreur correspondrait à RPC_X_WRONG_STUB_VERSION que tu peux rechercher
dans MSDN ce qui t'indiquera peut-être une voie à appronfondir.

Bien sûr, il apparait que cela soit effectivement un problème de version de
composant et de la correspondance de celle-ci entre RPC et MIDL
(compilateur) qui dépendent de la version du système pour les library et les
compatibilités... Tu utilises un composant COM (ATL) avec malheureusement
une incompatibilité ou un portage de platform qui ne fonctionne pas car il
n'a pas été compilé pour NT4.

Ce que tu peux vérifier, c'est déjà que ton projet est bien compilé et
exécuté sur le serveur de prod (si tu as les droits, ou installe une machine
avec un dual boot avec les deux OS) et tout devrais rentrer dans l'ordre
(comme cela tu fais deux versions(1 par OS)), sinon tu devras vérifier si tu
utilise un composant tier dans ton projet ou une référence à une librairie
qui ne contient pas les bonnes versions (MIDL) compilés pour un type de
platforme donnée...

Néanmois, j'aimerais savoir quelles références utilise ton projet et quels
sont les versions que tu utilises en Dev et en Prod ( système, VB, etc...)
afin de mieux te répondre. Naturellement, peut être que le problème se situe
à un autre niveau comme le serveur RPC et/ou les ports TCP ou UDP utilisés
par celui-ci sont peut-être en cause si un firewall est installé sur ton
serveur de Prod et que tu utilise plusieurs subnets sur ton réseau ( Ranges
d'adresses IP ) qui sont filtrés par un Firewall ( type ISA ou autres ).
Egalement, quels sont les technologies que tu utilise pour faire cela, comme
par exemple OLEDB, ADO, etc..., ainsi que le sens dans lequel tu veux faire
correspondre les contacts ( de ta base access vers outlook ou même les deux
?)... , ainsi que de me décrire brièvement la topologie de ton réseau
d'entreprise pour que je puise te proposer une solution ou un moyen de faire
la même chose de manière plus approprié...

Cordialement, Olivier

"Delphine" a écrit dans le message de
news:123e01c37eaa$36c33a10$
Bonjour à tous,

Ne parvenant toujours pas à résoudre le problème, je me
permets de reposter un message, au cas où quelqu'un
connaisant la réponse passerait par là :-) Merci d'avance!

Je développe une petite application à usage interne, qui
doit faire la correspondance entre notre base de données
contacts (en Access 2000) et les contacts de Outlook 2000.
L'appli tourne mais, bizzarement, sur le serveur de
production (NT4), je me prends des erreurs RPC "Error:
0x80070725 (-2147023067)
Description: Incompatible version of the RPC stub.."
Impossible de résoudre ce truc, malgré les fiches
Microsft, les groupes de discussion, ... Toutes les
solutions proposées foirent...

Je voudrais donc juste savoir s'il est possible, pour
contourner le problème en installant l'appli sur un autre
poste, d'attaquer Outlook "à distance" avec l'objet
CreateObject("Outlook.application"), depuis un autre
poste que celui où est le .PST.
Si oui, où cela doit-il se paramétrer?
Si quelqu'un a un exemple de code, je suis preneuse...

Mille mercis; bonne journée,

Delphine
Avatar
Delphine
Bonjour Olivier,

Mille mercis pour ta réponse -et le temps que tu y a
consacré! Je ne suis pas une pro du développement VB,
loin s'en faut, mais je vais essayer de répondre à tes
questions.

Avanat toutes choses, je dois dire que j'ai déjà passé
énormément de temps sur ce problème RPC, en vain, et
qu'actuellement, je tâche de trouver une solution pour
interroger le .PSD depuis un autre poste du réseau, plus
qu'à résoudre le problème RPC lui même. Si tu as des
infos sur ce point donc (et l'endroit où paramétrer le
chemin du PS D pour l'interroger...

Pour ce qui est de la compilation sous NT4, c'est la
première chose que j'ai faite, dès que le problème est
apparu. Mais, malheureusement, ça n'a rien changé.
Maintenant, il est vrai que je n'ai pas encore eu
l'occasion de compiler directement sur le serveur final,
ce qui me paraît inéluctable (mais il est à 1000 bornes
et je ne parviens pas à m'y connecter avec PC Anywhere
pour d'obscures raisons de droits et de ports).

L'interrogation se fait dans les deux sens, la base
Access 2000 étant sur un poste, le .PSD sur un autre, sur
un même réseau (de 3 PC!), même domaine et sans firewall
ni autres protections ou restrictions d'accès entre les
deux. JE ne pense pas que l'erreur vienne de la typologie
du réseau.

Les seules références particulières du projet sont ADO
2.5 et MS Outlook 10.0 Object Library; plus Microsoft
Data Environment Instance 1.0. Rien de particulier donc.

J'espère t'avoir donné assez d'info...
Encore merci pour ton aide; excellente journée,

Delphine


-----Message d'origine-----
Bonjour Delphine,

Désolé, mais ta description du problème est réellement


succinte et ne permet
pas vraiment d'approfondir la question !

L'erreur correspondrait à RPC_X_WRONG_STUB_VERSION que


tu peux rechercher
dans MSDN ce qui t'indiquera peut-être une voie à


appronfondir.

Bien sûr, il apparait que cela soit effectivement un


problème de version de
composant et de la correspondance de celle-ci entre RPC


et MIDL
(compilateur) qui dépendent de la version du système


pour les library et les
compatibilités... Tu utilises un composant COM (ATL)


avec malheureusement
une incompatibilité ou un portage de platform qui ne


fonctionne pas car il
n'a pas été compilé pour NT4.

Ce que tu peux vérifier, c'est déjà que ton projet est


bien compilé et
exécuté sur le serveur de prod (si tu as les droits, ou


installe une machine
avec un dual boot avec les deux OS) et tout devrais


rentrer dans l'ordre
(comme cela tu fais deux versions(1 par OS)), sinon tu


devras vérifier si tu
utilise un composant tier dans ton projet ou une


référence à une librairie
qui ne contient pas les bonnes versions (MIDL) compilés


pour un type de
platforme donnée...

Néanmois, j'aimerais savoir quelles références utilise


ton projet et quels
sont les versions que tu utilises en Dev et en Prod (


système, VB, etc...)
afin de mieux te répondre. Naturellement, peut être que


le problème se situe
à un autre niveau comme le serveur RPC et/ou les ports


TCP ou UDP utilisés
par celui-ci sont peut-être en cause si un firewall est


installé sur ton
serveur de Prod et que tu utilise plusieurs subnets sur


ton réseau ( Ranges
d'adresses IP ) qui sont filtrés par un Firewall ( type


ISA ou autres ).
Egalement, quels sont les technologies que tu utilise


pour faire cela, comme
par exemple OLEDB, ADO, etc..., ainsi que le sens dans


lequel tu veux faire
correspondre les contacts ( de ta base access vers


outlook ou même les deux
?)... , ainsi que de me décrire brièvement la topologie


de ton réseau
d'entreprise pour que je puise te proposer une solution


ou un moyen de faire
la même chose de manière plus approprié...

Cordialement, Olivier

"Delphine" a écrit dans le


message de
news:123e01c37eaa$36c33a10$
Bonjour à tous,

Ne parvenant toujours pas à résoudre le problème, je me
permets de reposter un message, au cas où quelqu'un
connaisant la réponse passerait par là :-) Merci


d'avance!

Je développe une petite application à usage interne, qui
doit faire la correspondance entre notre base de données
contacts (en Access 2000) et les contacts de Outlook


2000.
L'appli tourne mais, bizzarement, sur le serveur de
production (NT4), je me prends des erreurs RPC "Error:
0x80070725 (-2147023067)
Description: Incompatible version of the RPC stub.."
Impossible de résoudre ce truc, malgré les fiches
Microsft, les groupes de discussion, ... Toutes les
solutions proposées foirent...

Je voudrais donc juste savoir s'il est possible, pour
contourner le problème en installant l'appli sur un autre
poste, d'attaquer Outlook "à distance" avec l'objet
CreateObject("Outlook.application"), depuis un autre
poste que celui où est le .PST.
Si oui, où cela doit-il se paramétrer?
Si quelqu'un a un exemple de code, je suis preneuse...

Mille mercis; bonne journée,

Delphine


.