2013-07-11 2 views
4

Я пытаюсь перенести базу данных MS SQL 2008 R2 в MySQL 5.6 CE. Я использую MySQL WorkBench 5.2. Миграция закончилась множеством ошибок.Ошибка миграции MySQL: обнаружен недопустимый лимит времени метки

Большинство ошибок являются:

[WRN][ copytable]: Invalid timestamp literal detected: ''.

Это сообщение об ошибке имеет никакого смысла, так как многие таблицы не не имеет DateTime столбец. Например, он пытается перенести 4 строки данных из этой таблицы:

/****** 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 

Бревно это:

TestDB . defResidentialStatus :Copying 4 columns of 4 rows from table [TestDB].[dbo].[defResidentialStatus]

''

04:33 [WRN][ copytable]: Invalid timestamp literal detected: ''

04:33 [WRN][ copytable]: Invalid timestamp literal detected: ''

04:33 [WRN][ copytable]: Invalid timestamp literal detected: ''

04:33 [WRN][ copytable]: Invalid timestamp literal detected: ''

04:33 [WRN][ copytable]: Invalid timestamp literal detected: ''

<<< Repeat the same error message about 40 times, not included to save space >>>

04:34 [WRN][ copyPROGRESS: TestDB . defResidentialStatus :4:4 ............. TestDB . defResidentialStatus has FAILED (0 of 4 rows copied)

Я понятия не имею, что происходит. Это очень простая таблица с 4 столбцами и 4 строками. Это не единственная таблица, возвращающая этот тип ошибки, но одна из самых простых.

Данные в таблице:

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

Вот сайт, который я нашел, что может помочь вам ответить на ваш вопрос. http://www.databasejournal.com/features/mysql/mapping-data-types-between-mysql-and-sql-server.html –

ответ

0

Datetime - В MYSQL DateTime не содержит миллисекунды. Тип данных datetime SQL Server содержит миллисекунды. Ошибка: ошибка «Недопустимый лимит времени». Решение. Преобразуйте тип datetime в smalldatetime в SQL Server, если вы не возражаете потерять миллисекунды.

Вот код для преобразования:

SELECT CONVERT(smalldatetime,<columnName>); 

После converison вы не должны иметь никаких trouple импортирования.

Смежные вопросы