4

我正在尝试将 MS SQL 2008 R2 数据库迁移到 MySQL 5.6 CE。我正在使用 MySQL WorkBench 5.2。迁移以大量错误结束。

大多数错误是:

[警告][可复制表]:检测到无效的时间戳文字:''。

此错误消息毫无意义,因为许多表没有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:从表 [TestDB].[dbo].[defResidentialStatus] 复制 4 列 4 行

''

04:33 [警告] [可复制表]:检测到无效的时间戳文字:''

04:33 [警告] [可复制表]:检测到无效的时间戳文字:''

04:33 [警告] [可复制表]:检测到无效的时间戳文字:''

04:33 [警告] [可复制表]:检测到无效的时间戳文字:''

04:33 [警告] [可复制表]:检测到无效的时间戳文字:''

<<< 重复相同的错误信息大约 40 次,不包括在内以节省空间 >>>

04:34 [警告] [复制进度:TestDB. :4 : defResidentialStatus4 .... 已失败(已复制 4 行中的 0 行)TestDBdefResidentialStatus

我不知道是怎么回事。这是一个非常简单的表格,有 4 列和 4 行。这不是返回此类错误的唯一表,但它是最简单的表之一。

表中数据:

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

1 回答 1

0

日期时间 - 在 MYSQL 中,日期时间不包含毫秒。SQL Server 日期时间数据类型包含毫秒。错误:“检测到无效的时间戳文字”错误。解决方案:如果您不介意丢失毫秒,请在 SQL Server 中将 datetime 类型转换为 smalldatetime。

下面是一些转换代码:

SELECT CONVERT(smalldatetime,<columnName>);

在转换之后,你不应该有任何麻烦导入它。

于 2015-07-30T12:21:17.173 回答