系统数据在不同数据库迁移时常见问题整理
因现网站是在旧网站上重新设计并开发在上线之前需将原有数据迁移到现数据表当中那个
对于数据结构大部分相似的数据表采用采取代码当中调用存储过程的方式实现数据迁移
1. 数据库数据迁移:
USE [DBName1]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create procedure sp_HotelBankDataImport
as
begin
insert into [DBName1].dbo.TableName1
(ID,
Name,
NameFan,
NameEn,
Address,
AddressFan,
AddressEn,
Telephone,
Distance,
HotelCode)
select distinct
A.ID,
A.Name,
A.NameFan,
A.NameEn,
A.Address,
A.AddressFan,
A.AddressEn,
A.Telephone,
A.Distance,
A.HotelCode
from [DBName2].dbo.TableName1 A
join [DBName1].dbo.TableName2 B on B.HotelCode = A.HotelCode
end
Go
2. 在数据导入时,会遇到数据表字段类型不一致的问题,代码在插入数据时,会遇到以下
错误:
Error Message:
异常信息为:String or binary data would be truncated.
针对该问题的解决方法是,通过写SQL语句手工更改现有数据的字段类型
alter table GTHC_BAK.dbo.HotelInfo
alter column HotelName nvarchar(500)
更新成功后,使用Update语句提交更改
update GTHC_BAK.dbo.HotelInfo
set HotelName=HotelName