想从mysql导数据到sql server,
折腾半天,就是不行。
后来找到了Navicat Premium,
它支持oracle,mysql,sql server等等。
之间建两个连接,数据传输,就搞定了。
唯一的问题,是不支持mysql的bit类型,所以我就把bit改成了tinyint,再导就OK了。
爽~~记住这个名字吧。 ----------------------------------- 哦,还有个自动编号的问题,头疼。
数据倒过去后,id列没有设置成自动标识,
因为有数据了,所以改成自动标识,不让保存,因为要删除表重建。
那么,可以分两次进行。
第一次用navicat时,只创建结构,不insert data。
然后到sql server里改成自动标识,(可能不让你改,需要到 工具--选项--Designers里,把“阻止保存要求重新创建表的更改”勾去掉。
第二次用navicat导数据时,
在高级里,把“drop target object before create”勾去掉,
选中insert data就可以了。
汗,这时会报错,如:
[SQL Server]当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'cms_article' 中的标识列插入显式值。
也就是说,自动编号的值,不能指定。
如果想指定,就得把IDENTITY_INSERT设置为ON。
搜了下,大概意思是: --------------------------------- SET IDENTITY_INSERT 表名 ON insert into 表名 (字段列表) values ('12','111 ','2002-5-1 ') SET IDENTITY_INSERT 表名 OFF -------------------------
注意,字段列表要写,否则还不让你插入,好晕。
可惜,navicat里没这选项哈,
只好导成sql文件,挨个表来吧。
好在insert语句差别不大。 ============================================ 疯了,还是字符串做主键比较爽哈~~直接导~~
|