森泰达IT人才基地的网站二次改版已经完成了,余下就是维护和数据导入了。
涉及到将数据从一个数据库的表导入到另一个数据库中,下面总结一下学习的方法:
1. 使用DTS
这是SQL Server2000自带的一个强大的数据导出工具,在2005中变成了SSIS。因为安装环境的问题,不能使用。只能采用后面的方法。
网上有些很好的资源,大家可以参考一下:
eg:
http://www.simple-talk.com/sql/sql-server-2005/executing-ssis-packages-/
http://download.csdn.net/source/358829
http://topic.csdn.net/t/20031211/12/2552174.html
2.
建议因为sql互导是很严格的,可以先导出到excel,然后再导入指定数据库中。
3.
先检索出A库中N个表的数据 把数据放入临时表中,在把临时表的数据插入B库N表。
并指出:你可以先导并行的数据库冗余和同步问题也是你要考虑的巨大问题。
4.使用游标
下面是我使用的示例:
--使用游标导入数据
declare @id int, @className varchar(100),@count int,@status varchar(50),@content varchar(100), @date datetime
DECLARE Mem_Cursor CURSOR FOR
SELECT
[id]
,[ClassName]
,[StudentNum]
,[State]
,[Date]
,[Content]
FROM [stdweb].[dbo].[o_NewClassInfor]
OPEN Mem_Cursor
FETCH NEXT FROM Mem_Cursor INTO @id,@className ,@count,@status,@date,@content
WHILE @@FETCH_STATUS=0
BEGIN
--Sql Statement
INSERT INTO [www_stditbase_com].[dbo].[OpenClass]
([id],[ClassName]
,[StudentCount]
,[Status]
,[EndDate]
,[Content])
VALUES( @id,@className ,@count,@status,@date,@content)
FETCH NEXT FROM Mem_Cursor INTO @id, @className ,@count,@status,@date,@content
END
CLOSE Mem_Cursor
DEALLOCATE Mem_Cursor
注意的问题:
(1)前后要对应
(2)获取数据集 要和参数列表对应