IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Transfert de données de SQL2008 vers IBM I5(AS/400)


Sujet :

MS SQL Server

  1. #1
    Membre confirmé
    Homme Profil pro
    Application Developer (IBM i/MS-SQL)
    Inscrit en
    Janvier 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Application Developer (IBM i/MS-SQL)
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2008
    Messages : 90
    Par défaut Transfert de données de SQL2008 vers IBM I5(AS/400)
    Bonjour,
    J'ai un pbm lors du transfert de données depuis SQL 2008 vers notre I5 (AS/400).
    L'idée est de transférer ces données depuis un trigger after insert qui appelle une stored procedure.
    Quand je lance "execute stored procedure" ça marche mais quand le trigger est déclenché en automatique j'obtiens un msg:
    Msg 7391, Level 16, State 2, Procedure NA_Procedure, Line 20
    The operation could not be performed because OLE DB provider "IBMDASQL" for linked server "I5TST" was unable to begin a distributed transaction.
    Qqun voit-il une solution ?
    Merci d'avance.
    DevDx

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 995
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 995
    Billets dans le blog
    6
    Par défaut
    Le code SQL d'un trigger est situé à l'intérieur de la transaction. Entre le BEGIN TRANSACTION et le COMMIT.
    Ce qui fait que l'AS 400 "voit" aussi votre transaction.
    Vous devez donc effectuer une transaction distribuée avec un commit à deux phases (qui n'offre d'ailleurs aucune garantie de bonne fin...).
    Pour cela il vous faut activer le service MSDTC sur le serveur SQL, activer un gestionnaire de transaction distribué sur le serveur AS 400 répondant au standard XA... (dieu sait si IBM aime le respect des standard et la compatibilité normative !!! ) et lancer la transaction avc un
    BEGIN DISTRIBUTED TRANSACTION.

    Lisez l'article que j'ai écrit à ce sujet : http://blog.developpez.com/sqlpro/p1...a-deux-phases/

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Transfert de données de excel vers le logiciel sage Integrale 5.0
    Par chris67 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 22/09/2008, 15h32
  2. transfert de données d'unix vers win XP
    Par passion_info dans le forum Windows XP
    Réponses: 2
    Dernier message: 05/02/2007, 13h06
  3. transfert de donnés de excel vers Mysql
    Par mkachekh dans le forum Outils
    Réponses: 4
    Dernier message: 20/10/2006, 12h08
  4. Transfert de données de lpt1 vers fichiers
    Par germain31121975 dans le forum C++
    Réponses: 1
    Dernier message: 20/06/2006, 17h26
  5. transfert de données d'access vers excel
    Par courtial dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/04/2006, 16h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo