Bonjour,
je dois simuler la présence d'un second serveur sql 2k et je n'ai qu'un seul
serveur de développement ; j'ai donc créé la base de données à laquelle je
dois accéder (en lecture seule) sur mon propre serveur, puis j'ai ajouté un
serveur lié qui pointe sur cette base.
L'accès à cette base "faussement" distante fonctionne normalement, sauf dans
le cas où j'encapsule des instructions dans une transaction : je reçois
systématiquement le message d'erreur suivant :
L'opération demandée ne peut pas être effectuée car le fournisseur OLE DB
'SQLOLEDB' n'a pas réussi à démarrer de transaction distribuée.
[OLE/DB provider returned message: La nouvelle transaction ne peut pas
s'inscrire dans le coordinateur de transactions spécifié. ]
Trace de l'erreur OLE DB [OLE/DB Provider 'SQLOLEDB'
ITransactionJoin::JoinTransaction returned 0x8004d00a].
MSDTC est démarré et son exécution semble normale (la commande "begin
distributed tran" ne retourne pas d'erreur) ; j'ai autorisé "RPC" et "Sans
RPC" sur le serveur lié. J'ai lu dans un forum que cela pouvait provenir de
la présence d'un firewall qui empêche la réolution de noms ; j'ai désactivé
le mien et le pb demeure.
Est-ce que quelqu'un a une idée de la façon dont je pourrais solutionner ce
pb ?
Merci par avance
Comment a tu lié ton serveur ? (example:par T-sql avec sp_addlinkedserver ou em design mode)?
Med Bouchenafa[MVP]
"Les serveurs liés en boucle ne peuvent pas être utilisés dans une transaction distribuée. "
Voir dans Aide En Ligne le chapitre "Remarques concernant les serveurs liés dans un serveur SQL ordonné en clusters"
-- Bien cordialement Med Bouchenafa TETRASET 75015 Paris
"HPA" a écrit dans le message de news: 2aoWb.11298$
Bonjour, je dois simuler la présence d'un second serveur sql 2k et je n'ai qu'un seul serveur de développement ; j'ai donc créé la base de données à laquelle je dois accéder (en lecture seule) sur mon propre serveur, puis j'ai ajouté un serveur lié qui pointe sur cette base. L'accès à cette base "faussement" distante fonctionne normalement, sauf dans le cas où j'encapsule des instructions dans une transaction : je reçois systématiquement le message d'erreur suivant : L'opération demandée ne peut pas être effectuée car le fournisseur OLE DB 'SQLOLEDB' n'a pas réussi à démarrer de transaction distribuée. [OLE/DB provider returned message: La nouvelle transaction ne peut pas s'inscrire dans le coordinateur de transactions spécifié. ] Trace de l'erreur OLE DB [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a].
MSDTC est démarré et son exécution semble normale (la commande "begin distributed tran" ne retourne pas d'erreur) ; j'ai autorisé "RPC" et "Sans RPC" sur le serveur lié. J'ai lu dans un forum que cela pouvait provenir de la présence d'un firewall qui empêche la réolution de noms ; j'ai désactivé le mien et le pb demeure.
Est-ce que quelqu'un a une idée de la façon dont je pourrais solutionner ce pb ? Merci par avance
HPA
"Les serveurs liés en boucle ne peuvent pas être utilisés dans une transaction distribuée. "
Voir dans Aide En Ligne le chapitre "Remarques concernant les serveurs liés dans un serveur SQL
ordonné en clusters"
--
Bien cordialement
Med Bouchenafa
TETRASET
75015 Paris
"HPA" <henri-pierre.auclair@tele2.fr> a écrit dans le message de news:
2aoWb.11298$zm5.6236@nntpserver.swip.net...
Bonjour,
je dois simuler la présence d'un second serveur sql 2k et je n'ai qu'un seul
serveur de développement ; j'ai donc créé la base de données à laquelle je
dois accéder (en lecture seule) sur mon propre serveur, puis j'ai ajouté un
serveur lié qui pointe sur cette base.
L'accès à cette base "faussement" distante fonctionne normalement, sauf dans
le cas où j'encapsule des instructions dans une transaction : je reçois
systématiquement le message d'erreur suivant :
L'opération demandée ne peut pas être effectuée car le fournisseur OLE DB
'SQLOLEDB' n'a pas réussi à démarrer de transaction distribuée.
[OLE/DB provider returned message: La nouvelle transaction ne peut pas
s'inscrire dans le coordinateur de transactions spécifié. ]
Trace de l'erreur OLE DB [OLE/DB Provider 'SQLOLEDB'
ITransactionJoin::JoinTransaction returned 0x8004d00a].
MSDTC est démarré et son exécution semble normale (la commande "begin
distributed tran" ne retourne pas d'erreur) ; j'ai autorisé "RPC" et "Sans
RPC" sur le serveur lié. J'ai lu dans un forum que cela pouvait provenir de
la présence d'un firewall qui empêche la réolution de noms ; j'ai désactivé
le mien et le pb demeure.
Est-ce que quelqu'un a une idée de la façon dont je pourrais solutionner ce
pb ?
Merci par avance
"Les serveurs liés en boucle ne peuvent pas être utilisés dans une transaction distribuée. "
Voir dans Aide En Ligne le chapitre "Remarques concernant les serveurs liés dans un serveur SQL ordonné en clusters"
-- Bien cordialement Med Bouchenafa TETRASET 75015 Paris
"HPA" a écrit dans le message de news: 2aoWb.11298$
Bonjour, je dois simuler la présence d'un second serveur sql 2k et je n'ai qu'un seul serveur de développement ; j'ai donc créé la base de données à laquelle je dois accéder (en lecture seule) sur mon propre serveur, puis j'ai ajouté un serveur lié qui pointe sur cette base. L'accès à cette base "faussement" distante fonctionne normalement, sauf dans le cas où j'encapsule des instructions dans une transaction : je reçois systématiquement le message d'erreur suivant : L'opération demandée ne peut pas être effectuée car le fournisseur OLE DB 'SQLOLEDB' n'a pas réussi à démarrer de transaction distribuée. [OLE/DB provider returned message: La nouvelle transaction ne peut pas s'inscrire dans le coordinateur de transactions spécifié. ] Trace de l'erreur OLE DB [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a].
MSDTC est démarré et son exécution semble normale (la commande "begin distributed tran" ne retourne pas d'erreur) ; j'ai autorisé "RPC" et "Sans RPC" sur le serveur lié. J'ai lu dans un forum que cela pouvait provenir de la présence d'un firewall qui empêche la réolution de noms ; j'ai désactivé le mien et le pb demeure.
Est-ce que quelqu'un a une idée de la façon dont je pourrais solutionner ce pb ? Merci par avance
HPA
Sylvain Lafontaine
Plutôt que de créer un serveur lié vers une base de donées situé dans le même serveur, il serait préférable de créer une seconde instance de SQL-Server. SQL-Server 2000, comme MSDE, permet en effet d'installer plusieurs instances sur la même machine.
Dans votre cas, l'utilisation de Microsoft Virtual PC 2004 serait cependant une solution encore meilleure, car vous seriez sûr d'avoir une simulation complète.
S. L.
"HPA" wrote in message news:2aoWb.11298$
Bonjour, je dois simuler la présence d'un second serveur sql 2k et je n'ai qu'un
seul
serveur de développement ; j'ai donc créé la base de données à laquelle je dois accéder (en lecture seule) sur mon propre serveur, puis j'ai ajouté
un
serveur lié qui pointe sur cette base. L'accès à cette base "faussement" distante fonctionne normalement, sauf
dans
le cas où j'encapsule des instructions dans une transaction : je reçois systématiquement le message d'erreur suivant : L'opération demandée ne peut pas être effectuée car le fournisseur OLE DB 'SQLOLEDB' n'a pas réussi à démarrer de transaction distribuée. [OLE/DB provider returned message: La nouvelle transaction ne peut pas s'inscrire dans le coordinateur de transactions spécifié. ] Trace de l'erreur OLE DB [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a].
MSDTC est démarré et son exécution semble normale (la commande "begin distributed tran" ne retourne pas d'erreur) ; j'ai autorisé "RPC" et "Sans RPC" sur le serveur lié. J'ai lu dans un forum que cela pouvait provenir
de
la présence d'un firewall qui empêche la réolution de noms ; j'ai
désactivé
le mien et le pb demeure.
Est-ce que quelqu'un a une idée de la façon dont je pourrais solutionner
ce
pb ? Merci par avance
HPA
Plutôt que de créer un serveur lié vers une base de donées situé dans le
même serveur, il serait préférable de créer une seconde instance de
SQL-Server. SQL-Server 2000, comme MSDE, permet en effet d'installer
plusieurs instances sur la même machine.
Dans votre cas, l'utilisation de Microsoft Virtual PC 2004 serait cependant
une solution encore meilleure, car vous seriez sûr d'avoir une simulation
complète.
S. L.
"HPA" <henri-pierre.auclair@tele2.fr> wrote in message
news:2aoWb.11298$zm5.6236@nntpserver.swip.net...
Bonjour,
je dois simuler la présence d'un second serveur sql 2k et je n'ai qu'un
seul
serveur de développement ; j'ai donc créé la base de données à laquelle je
dois accéder (en lecture seule) sur mon propre serveur, puis j'ai ajouté
un
serveur lié qui pointe sur cette base.
L'accès à cette base "faussement" distante fonctionne normalement, sauf
dans
le cas où j'encapsule des instructions dans une transaction : je reçois
systématiquement le message d'erreur suivant :
L'opération demandée ne peut pas être effectuée car le fournisseur OLE DB
'SQLOLEDB' n'a pas réussi à démarrer de transaction distribuée.
[OLE/DB provider returned message: La nouvelle transaction ne peut pas
s'inscrire dans le coordinateur de transactions spécifié. ]
Trace de l'erreur OLE DB [OLE/DB Provider 'SQLOLEDB'
ITransactionJoin::JoinTransaction returned 0x8004d00a].
MSDTC est démarré et son exécution semble normale (la commande "begin
distributed tran" ne retourne pas d'erreur) ; j'ai autorisé "RPC" et "Sans
RPC" sur le serveur lié. J'ai lu dans un forum que cela pouvait provenir
de
la présence d'un firewall qui empêche la réolution de noms ; j'ai
désactivé
le mien et le pb demeure.
Est-ce que quelqu'un a une idée de la façon dont je pourrais solutionner
Plutôt que de créer un serveur lié vers une base de donées situé dans le même serveur, il serait préférable de créer une seconde instance de SQL-Server. SQL-Server 2000, comme MSDE, permet en effet d'installer plusieurs instances sur la même machine.
Dans votre cas, l'utilisation de Microsoft Virtual PC 2004 serait cependant une solution encore meilleure, car vous seriez sûr d'avoir une simulation complète.
S. L.
"HPA" wrote in message news:2aoWb.11298$
Bonjour, je dois simuler la présence d'un second serveur sql 2k et je n'ai qu'un
seul
serveur de développement ; j'ai donc créé la base de données à laquelle je dois accéder (en lecture seule) sur mon propre serveur, puis j'ai ajouté
un
serveur lié qui pointe sur cette base. L'accès à cette base "faussement" distante fonctionne normalement, sauf
dans
le cas où j'encapsule des instructions dans une transaction : je reçois systématiquement le message d'erreur suivant : L'opération demandée ne peut pas être effectuée car le fournisseur OLE DB 'SQLOLEDB' n'a pas réussi à démarrer de transaction distribuée. [OLE/DB provider returned message: La nouvelle transaction ne peut pas s'inscrire dans le coordinateur de transactions spécifié. ] Trace de l'erreur OLE DB [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a].
MSDTC est démarré et son exécution semble normale (la commande "begin distributed tran" ne retourne pas d'erreur) ; j'ai autorisé "RPC" et "Sans RPC" sur le serveur lié. J'ai lu dans un forum que cela pouvait provenir
de
la présence d'un firewall qui empêche la réolution de noms ; j'ai
désactivé
le mien et le pb demeure.
Est-ce que quelqu'un a une idée de la façon dont je pourrais solutionner