我正在尝试使用 MySQL 中的迁移工具将我的数据库从 MS SQL 2000 迁移到 MySQL。当我这样做时,我收到以下警告:
1) 排序规则更改SQL_Latin1
为 UTF8_General_CI
。我担心这一点,因为我的表包含加密数据,这种附带更改会影响吗?
2)BIT
字段更改为TINYINT(1)
。MySQL 有BIT
字段,而不是为什么要更改为TINYINT
?
所有这些都是警告,但也没有创建许多表和数据。他们失踪了。所以,我在其中选了一张桌子,比如说tblProducts
。
当我尝试迁移此表时,出现以下错误:
Migrating data... wbcopytables.exe --odbc-source=DSN=SwiplODBC;DATABASE=;UID= --target=root@127.0.0.1:3306 --progress --passwords-from-stdin --thread-count=1 --table-file=c:\users\xxxx\appdata\local\temp\tmp5ffenq \users\xxxx\appdata\local\temp\tmp5ffenq `SWIPL11009`.`tblProducts`:
Copying 83 columns of 102854 rows from table [SWIPL11009].[dbo].[tblProducts] ERROR: `SWIPL11009`.`tblProducts`:Type mismatch fetching field 40 (should be float, was MYSQL_TYPE_DOUBLE) `SWIPL11009`.`tblProducts`:Finished copying 0 rows in 0m01s
08:43 [INF][ copytable]: Opening ODBC connection to DSN=SwiplODBC;DATABASE=;UID=;PWD=XXX'
08:43 [INF][ copytable]: ODBC connection to 'DSN=SwiplODBC;DATABASE=;UID=;PWD=' opened
08:43 [INF][ copytable]: Connecting to MySQL server at 127.0.0.1:3306 with user root
08:43 [INF][ copytable]: Connection to MySQL opened
***08:43 [WRN][ copytable]: Invalid timestamp literal detected: ''***
其实我没有任何timestamp
字段,都是datetime
, 并且null
默认设置。期待一些建议和解决方案。
谢谢。