我正在尝试使用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
。
期待一些建议和解决方案。
感谢。