Erreur de migration MySQL: littéral d'horodatage non valide détecté

J'essaie de migrer une database MS SQL 2008 R2 vers MySQL 5.6 CE. J'utilise le MySQL WorkBench 5.2. La migration s'est terminée avec des tonnes d'erreurs.

La plupart des erreurs sont:

[WRN] [copytable]: littéral d'horodatage non valide détecté: ''.

Ce message d'erreur n'a aucun sens car la table n'a pas de colonne DateTime . Par exemple, il essayait de migrer 4 lignes de données de cette table:

 /****** Object: Table [dbo].[defResidentialStatus] Script Date: 07/11/2013 14:33:47 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[defResidentialStatus]( [idResStatusKey] [int] IDENTITY(1,1) NOT NULL, [desc1] [nvarchar](50) NOT NULL, [desc2] [nvarchar](50) NOT NULL, [active] [bit] NOT NULL, CONSTRAINT [PK_defResidentialStatus] PRIMARY KEY CLUSTERED ( [idResStatusKey] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO ALTER TABLE [dbo].[defResidentialStatus] ADD CONSTRAINT [DF_defResidentialStatus_active] DEFAULT ((1)) FOR [active] GO 

Le journal est ceci:

TestDB . defResidentialStatus : Copie de 4 colonnes de 4 lignes de la table [TestDB]. [dbo]. [defResidentialStatus]

''

04:33 [WRN] [copytable]: littéral d'horodatage non valide détecté: ''

04:33 [WRN] [copytable]: littéral d'horodatage non valide détecté: ''

04:33 [WRN] [copytable]: littéral d'horodatage non valide détecté: ''

04:33 [WRN] [copytable]: littéral d'horodatage non valide détecté: ''

04:33 [WRN] [copytable]: littéral d'horodatage non valide détecté: ''

<<< Répétez le même message d'erreur environ 40 fois, pas inclus pour économiser de l'espace >>>

04:34 [WRN] [copyPROGRESS: TestDB . defResidentialStatus : 4: 4 …………. TestDB . defResidentialStatus a defResidentialStatus (0 sur 4 lignes copiées)

Je ne ai aucune idée de ce qui se passe. C'est une table très simple avec 4 colonnes et 4 rangées. Ce n'est pas le seul tableau qui renvoie ce type d'erreur, mais c'est l'un des plus simples.

Données dans le tableau:

 1 Pending Pending 1 2 Arrived Arrived 1 3 Cancelled Cancelled 1 4 Departed Departed 1 

Datetime – Dans MYSQL datetime ne contient pas de millisecondes. Le type de données datetime SQL Server contient des millisecondes. Erreur: erreur "Invalid timestamp literal detected". Solution: Convertissez le type datetime en une petite date dans SQL Server si cela ne vous dérange pas de perdre les millisecondes.

Voici un code pour la conversion:

 SELECT CONVERT(smalldatetime,<columnName>); 

Après la conversion, vous ne devriez pas avoir de file importé.