请问:关于数据库导入导出数据的问题,很头疼!
背景:
远程数据库和本地数据库都是 mssql2005
远程数据库里已经有很多数据(上万条数据,70多张表),其中有些表与表之间是有约束关系的.
比如,"文章分类"表和"文章内容"表之间就有约束关系!
值得一提的是,源数据库里"文章分类"表中编号不是从1开始的,例如:
id Acla
2 技术资讯
3 行业动态
4 项目合作
目的:
我想把远程数据库里数据完整导入到本地数据库,一模一样的!我的数据库里只有表,没有视图也没有存储过程.
方法:
首先,我将源数据库里的结构生成sql脚本,然后在本地数据库分析并执行建表脚本,没有错误.
其次,我在源数据库选择导出数据,其他默认.导完以后也没有提示错误.
错误:
我发现导入的"文章分类"表中,编号是按顺利排列的,这是个非常严重的错误.如下:
id Acla
1 技术资讯
2 行业动态
3 项目合作
补救:
于是我重新从类推数据库选择导出数据,并勾选,"删除原有数据表里的行"和"启用标识插入"
我想在重新导出数据时,把目标库里表里的行全部删除,然后插入标识应该可以和源数据库里的表一样吧.
结果又报错:
错误 0xc0202009: 数据流任务: SSIS 错误代码 DTS_E_OLEDBERROR。出现 OLE DB 错误。错误代码: 0x80004005。
已获得 OLE DB 记录。源:“Microsoft SQL Native Client” Hresult: 0x80004005 说明:“语句已终止。”。
已获得 OLE DB 记录。源:“Microsoft SQL Native Client” Hresult: 0x80004005 说明:“违反了 PRIMARY KEY 约束 'PK_newsInfoType'。不能在对象 'dbo.newsInfoType' 中插入重复键。”。
提问:
1,我选择了"删除原有数据表里的所有行"这个选项,为什么还会报错呢?
2,我什么都不选,在第一次执行数据库结构脚本执行无错的情况下成功导出数据,可为什么数据却变成错位了的呢?
请高人指教.