日期:2014-05-16  浏览次数:20901 次

网站后台改版,迁移老网站中Access数据库中新闻到新网站的方法
有时客户要你做个新网站,但要求保留老网站中新闻。新老网站都是ASP+Access数据库的结构,只是新网站news表的结构和老网站news表的结构不同,包括字段名及字段的数据类型等都有不同的。

我从有篇文章看了可使用追加查询将老网站表中数据导入到新网站中,大概就是这样:
INSERT INTO [结果表的表名] SELECT * FROM T2;
可是我写了一句:
INSERT INTO news ( newsid, typeid, borderid, smclassid, topic, content, ntime, hits, nfrom, modify, writer, picurl, pic, imageNum, editfirstImageName )
SELECT ArticleID, ChannelID, ClassID, ClassID, Title, Content, CreateTime, Hits, CopyFrom, Editor, Author, DefaultPicUrl, IncludePic, IncludePic, UploadFiles
FROM wlx;
其中wlx是老网站的新闻表,news是新网站的新闻表

可是一运行就提示:Access不能在追加查询中追加所有的记录。
Access设置0字段为null是因为类型转换失败,它未将0记录添加到表是因为键值冲突,没有添加0记录是因为锁定冲突,没有添加450记录是因为有效性规则冲突。

从而追加失败。有什么办法解决吗。像这样插入老表中的记录,新表中newsid是自动编号字段,那还能插入老表中的字段吗。新表中有些字段是数值型,而老表中是文本型,该怎么改呢。
------解决方案--------------------
自动编号先取消,导入完了再打开。通过函数把文本转为数值再插入呗。