Question : Insertion dans le Tableau de MySQL du déclenchement d'insertion de MSSQL

Salut là !

I AM maintenant quelques jours sur résoudre le problème suivant : le

I ont une application, cette court sur une base de données de MSSQL. Maintenant une autre application, fonctionnant sur un MySQL-Database.
Now - ils partagent quelques données, qui le rendent nécessaire de transférer des données partielles entre deux l'approche de tables.

The sont maintenant, de créer un déclenchement sur la MSSQL-Table (t1) et d'écrire les données de la « insertion » - Tableau (t2) au MySQL-Table.
Remember : J'ai besoin seulement d'un ensemble de données partiel, où les noms de colonne sur le T1 et le T2 varient. (ffieldms1-data sera rempli à fieldmy1) le

MySQL-Database est installé en tant que serveur lié par l'intermédiaire du déclenchement konzeptual d'ODBC 5.1 Driver.

My est le suivre : class= " lineNumbers " >
1 de >



CRÉER le myInsertTrigger de DÉCLENCHEMENT
    SUR [MSSQLDB]. [dbo]. [T1]
    POUR L'INSERTION, MISE À JOUR
    AS
		DÉCLARER le @ID international
		CHOISIR le @ID = (CHOISIR [l'identification] À PARTIR d'insérer)
		IMPRIMER le @ID
		SI (>= 5000 DE @ID) ET (@ID < 5999)
        COMMENCER
		PLACER XACT_ABORT DESSUS
		COMMENCER LA TRANSACTION
			INSÉRER DANS 
				OPENQUERY ([MYSQL-REMOTE], '
				CHOISIR fieldmy1, fieldmy2
				De t1')
			CHOISIR fieldms1, fieldms2
			D'insérer

			SUPPRESSION DE [MSSQLDB]. [dbo]. [T1] LÀ OÙ [identification] = @ID
		COMMETTRE LA TRANSACTION
		Le class= d'END


When est (par exemple avec une mise à jour d'identification à la gamme ci-dessus) opération suivante exécutée de l'occurs

The d'erreur ne pourrait pas être exécuté parce que le VIEUX fournisseur « MSDASQL » de DB ne pouvait pas commencer une transaction distribuée. aide spécifique du besoin du supported

I d'option du
[MYSQL] [conducteur d'ODBC 5.1] pas - le google évoque une masse des fils, je n'a pas trouvé que l'one.

If quelqu'un sait, comment configurer le mssql-manuscrit, le serveur ou le mysql-server

THANK YOU de mssql class= de

Réponse : Insertion dans le Tableau de MySQL du déclenchement d'insertion de MSSQL

Si vous allez faire ceci dans un déclenchement, je parie que votre raison motrice est que vous n'avez pas la commande du client publiant le rapport d'INSERTION.

Si c'est le cas, je proposerais que vous créiez une nouvelle table - l'appeler MySQLQueue et insérer les données sélectivement qui sont poussées dans cette table, dans cette table de file d'attente, alors emploient un travail qui la court et pousse plus de dans MySQL.

Si vous avez besoin de certains disques supprimés de votre table originale vous pourriez également faire cela à l'intérieur de votre déclenchement, mais je proposerais juste l'utilisation AU LIEU du déclenchement pour réaliser le travail.

Using cette approche ne fermera pas à clef vos insertions sur votre table originale tandis que vous essayez de synchroniser avec un serveur à distance de MySQL.  Il, cependant, présente de la latence basée sur la fréquence que le travail traite votre file d'attente, mais elles sont traitées asynchrone au moins.

Tandis que les déclenchements sont un outil très puissant, ils peuvent facilement apporter un système à ses genoux.  Les employer avec l'attention extrême et TOUJOURS très judicieusement.
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us