问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SQL2000数据库远程建表导入功能

发布网友 发布时间:2022-04-07 23:44

我来回答

1个回答

热心网友 时间:2022-04-08 01:13

文章在介绍SQL Server 2000下的数据库数据导入导出方法的基础上,着重讨论了如何实现基于网页的数据库数据导入。
[关键词] SQL Server 2000;数据导入;DTS

1SQL Server 2000常用的数据导入导出方法
1.1通过DTS的设计器进行导入或导出
DTS的设计器功能强大,支持多任务,也是可视化界面,易于操作,但熟悉的人一般不多,如果只是进行SQL Server数据库中部分表的移动,用这种方法最好,当然,也可以进行全部表的移动。在SQL Server Enterprise Manager中,展开服务器左边的+,选择数据库,右击,选择All tasks/Import Data...(或All tasks/Export Data...),进入向导模式,然后按照提示一步一步进行就可以了,里面分得非常详细,可以灵活的在不同数据源之间复制数据,非常的方便,而且还可以另存成DTS包,如果以后还有相同的复制任务,直接运行DTS包就行,省时省力。也可以直接打开DTS设计器,方法是展开服务器名称下面的Data Transformation Services,选Local Packages,在右边的窗口中右击,选New Package,就打开了DTS设计器。值得注意的是:如果源数据库要拷贝的表有外键,注意移动的顺序,有时要分批移动,否则外键主键,索引可能丢失,移动的时候选项旁边的提示说的很明白,或者一次性的复制到目标数据库中,再重新建立外键,主键,索引。其实在建立数据库时,建立外键,主键,索引的文件应该和建表文件分开,而且用的数据文件也分开,并分别放在不同的驱动器上,有利于数据库的优化。
1.2利用Bcp工具
这种工具虽然在SQL Server 2000的版本中不推荐使用,但许多数据库管理员仍很喜欢用它,尤其是用过SQL Server早期版本的人。不过Bcp确实有其局限性,首先它的界面不是图形化的;其次它只是在SQL Server的表(视图)与文本文件之间进行复制。但是另一方面,它也有其优点:性能好,开销小,占用内存少,速度快。
1.3利用备份和恢复
先对源数据库进行完全备份,备份到一个设备(device)上,然后把备份文件复制到目的服务器上(恢复的速度快),进行数据库的恢复操作,在恢复的数据库名中填上源数据库的名字(名字必须相同),选择强制型恢复(可以覆盖以前数据库的选项),在选择从设备中进行恢复,浏览时选中备份的文件就行了。这种方法可以完全恢复数据库,包括外键,主键,索引。
1.4直接拷贝数据文件
把数据库的数据文件(*.mdf)和日志文件(*.ldf)都拷贝到目的服务器,在SQL Server Query Analyzer中用语句进行恢复:
EXEC sp_attach_db @dbname = ’test’,
@filename1 = ’d:\mssql7\data\test_data.mdf’,
@filename2 = ’d:\mssql7\data\test_log.ldf’
这样就把test数据库附加到SQL Server中,可以照常使用,如果不想用原来的日志文件,可以用如下的命令:
EXEC sp_detach_db @dbname = ’test’
EXEC sp_attach_single_file_db @dbname = ’test’,
@physname = ’d:\mssql7\data\test_data.mdf’
这个语句的作用是仅仅加载数据文件,日志文件可以由SQL Server数据库自动添加,但是原来的日志文件中记录的数据就丢失了。
1.5在应用程序中定制
可以在应用程序(PB、VB)中执行自己编写的程序,也可以在Query Analyzer中执行,这种方法比较灵活,其实是利用一个平台连接到数据库,在平台中用的主要是SQL语句,这种方法对数据库的影响小,但是如果用到远程链接服务器,要求网络之间的传输性能好,一般有两种语句:
1.5.1select ... into new_tablename where ...
1.5.2insert (into) old_tablename select ... from ... where ...
这两种方式的区别是前者把数据插入一个新表(先建立表,再插入数据),而后者是把数据插入已经存在的一个表中,一般来说,第二条语句强于前者。
1.6SQL Server的复制功能
SQL Server提供了强大的数据复制功能,也是最不易掌握的,具体应用请参考相关资料,值得注意的是要想成功进行数据的复制工作,有些条件是必不可少的:
1.6.1 SQL Server Agent必须启动,MSDTC必须启动。
1.6.2 所有要复制的表必须有主键。
1.6.3 如果表中有text或image数据类型,必须使用with log选项,不能使用with no_log选项。
另外max text repl size选项控制可以复制的文本和图像数据的最大规模,超过这个*的操作将失败。
1.6.4 在要进行复制的计算机上,应该至少是隐含共享,即共享名是C$或D$…。
1.6.5 为SQL Server代理使用的Windows NT账号不能是一个本地的系统账号,因为本地的系统账号不允许网络存取。
1.6.6 如果参与复制的服务器在另外的计算机域中,必须在这些域之间建立信任关系。转贴于 中国论文下载中心 http://www.studa.net

2实现基于网页的数据库数据导入
那么,如何实现基于网页的数据库数据导入呢,下面利用一个比较简单的网络介绍一下。
假设某局域网的网络拓扑结构如下所示:

其中服务器A 和工作站B位于局域网内,工作站C 与服务器D 位于Internet内,局域网与Internet是物理隔离的,工作站C与工作站D 在同一个办公室内,服务器A上的数据库管理系统是Oracle, 服务器D上的数据库管理系统是SQL Server 2000。由于工作需要,要求把服务器A 的有关数据导入到服务器D上。
2.1通常的工作流程:
2.1.1 在工作站B上运行客户端软件,将服务器A上数据导入到本地的dbf文件。
2.1.2 用移动硬盘 把dbf文件从工作站B拷贝到工作站C上。
2.1.3 在工作站C上,用ftp软件将dbf文件上传到服务器D上。
2.1.4 在工作站C上,运行远程桌面软件登录到服务器D上。
2.1.5 在服务器D上,执行DTS,将dbf文件中的数据导入到SQL Server
数据库。
2.1.6 在服务器D上,运行相关存储过程,做数据的后期处理工作。
在许多情况下,因为各种不同情况的需要,这个工作流程每天(甚至更短的时间内)就要执行一次,非常繁琐,而且使用手工操作,很容易出错。下面提出一种改进的方案。
2.2改进后的工作流程
2.2.1 在工作站B上运行客户端软件,将服务器A上数据导入到本地的dbf文件。
2.2.2 用移动硬盘 把dbf文件从工作站B拷贝到工作站C上。
2.2.3 在工作站C上,打开服务器D上的相关网页,利用网页将dbf文件的数据导入到服务器D上的SQL Server数据库中。
首先,要在网页里实现上传功能,把dbf文件从工作站C上传到服务D上,这里就不多介绍了。要通过网页把dbf文件导入到SQL Server 中,需要借助DTS可编程对象。DTS包含一组可编程COM对象,主要包含:DTS.Package、DTS.Connection、DTS.Step、DTS.ExecuteSQLTask、DTS.DataPumpTask、DTS.Transformation。
在ASP网页里,通过用VBScript脚本创建调用DTS可编程COM对象,可以完成数据导入任务。SQL Server 2000有比较详细的文档资料介绍DTS编程 ,但没有给一个具体的例子,如果仅参考文档资料,难度比较大,开发时间也会相当长。这里大概的介绍一下开发程序的过程。首先,在SQL Sever 2000的DTS设计器里,创建DTS包,实现从dbf文件到SQL Server 2000的数据导入,把后期处理的存储过程也添加到DTS包里。将这个DTS包另存为VBScript文件。有了这个VBScript文件,开发程序就容易多了,加入所需要的其他代码,就可以在网页里实现数据库的数据导入。

参考文献
【1】张莉,等.SQL Server数据库原理及应用教程〔M〕.北京:清华大学出版社,2003.
【2】梁方明.SQL Server2000数据库编程〔M〕.北京:北京希望电子出版社,2002.
【3】Louis Davidson(美).SQL Server2000数据库设计权威指南〔M〕.中国电力出版社,2002.转贴于 中国论文下载中心 http://www.studa.net

[摘 要] 文章在介绍SQL Server 2000下的数据库数据导入导出方法的基础上,着重讨论了如何实现基于网页的数据库数据导入。
[关键词] SQL Server 2000;数据导入;DTS

1SQL Server 2000常用的数据导入导出方法
1.1通过DTS的设计器进行导入或导出
DTS的设计器功能强大,支持多任务,也是可视化界面,易于操作,但熟悉的人一般不多,如果只是进行SQL Server数据库中部分表的移动,用这种方法最好,当然,也可以进行全部表的移动。在SQL Server Enterprise Manager中,展开服务器左边的+,选择数据库,右击,选择All tasks/Import Data...(或All tasks/Export Data...),进入向导模式,然后按照提示一步一步进行就可以了,里面分得非常详细,可以灵活的在不同数据源之间复制数据,非常的方便,而且还可以另存成DTS包,如果以后还有相同的复制任务,直接运行DTS包就行,省时省力。也可以直接打开DTS设计器,方法是展开服务器名称下面的Data Transformation Services,选Local Packages,在右边的窗口中右击,选New Package,就打开了DTS设计器。值得注意的是:如果源数据库要拷贝的表有外键,注意移动的顺序,有时要分批移动,否则外键主键,索引可能丢失,移动的时候选项旁边的提示说的很明白,或者一次性的复制到目标数据库中,再重新建立外键,主键,索引。其实在建立数据库时,建立外键,主键,索引的文件应该和建表文件分开,而且用的数据文件也分开,并分别放在不同的驱动器上,有利于数据库的优化。
1.2利用Bcp工具
这种工具虽然在SQL Server 2000的版本中不推荐使用,但许多数据库管理员仍很喜欢用它,尤其是用过SQL Server早期版本的人。不过Bcp确实有其局限性,首先它的界面不是图形化的;其次它只是在SQL Server的表(视图)与文本文件之间进行复制。但是另一方面,它也有其优点:性能好,开销小,占用内存少,速度快。
1.3利用备份和恢复
先对源数据库进行完全备份,备份到一个设备(device)上,然后把备份文件复制到目的服务器上(恢复的速度快),进行数据库的恢复操作,在恢复的数据库名中填上源数据库的名字(名字必须相同),选择强制型恢复(可以覆盖以前数据库的选项),在选择从设备中进行恢复,浏览时选中备份的文件就行了。这种方法可以完全恢复数据库,包括外键,主键,索引。
1.4直接拷贝数据文件
把数据库的数据文件(*.mdf)和日志文件(*.ldf)都拷贝到目的服务器,在SQL Server Query Analyzer中用语句进行恢复:
EXEC sp_attach_db @dbname = ’test’,
@filename1 = ’d:\mssql7\data\test_data.mdf’,
@filename2 = ’d:\mssql7\data\test_log.ldf’
这样就把test数据库附加到SQL Server中,可以照常使用,如果不想用原来的日志文件,可以用如下的命令:
EXEC sp_detach_db @dbname = ’test’
EXEC sp_attach_single_file_db @dbname = ’test’,
@physname = ’d:\mssql7\data\test_data.mdf’
这个语句的作用是仅仅加载数据文件,日志文件可以由SQL Server数据库自动添加,但是原来的日志文件中记录的数据就丢失了。
1.5在应用程序中定制
可以在应用程序(PB、VB)中执行自己编写的程序,也可以在Query Analyzer中执行,这种方法比较灵活,其实是利用一个平台连接到数据库,在平台中用的主要是SQL语句,这种方法对数据库的影响小,但是如果用到远程链接服务器,要求网络之间的传输性能好,一般有两种语句:
1.5.1select ... into new_tablename where ...
1.5.2insert (into) old_tablename select ... from ... where ...
这两种方式的区别是前者把数据插入一个新表(先建立表,再插入数据),而后者是把数据插入已经存在的一个表中,一般来说,第二条语句强于前者。
1.6SQL Server的复制功能
SQL Server提供了强大的数据复制功能,也是最不易掌握的,具体应用请参考相关资料,值得注意的是要想成功进行数据的复制工作,有些条件是必不可少的:
1.6.1 SQL Server Agent必须启动,MSDTC必须启动。
1.6.2 所有要复制的表必须有主键。
1.6.3 如果表中有text或image数据类型,必须使用with log选项,不能使用with no_log选项。
另外max text repl size选项控制可以复制的文本和图像数据的最大规模,超过这个*的操作将失败。
1.6.4 在要进行复制的计算机上,应该至少是隐含共享,即共享名是C$或D$…。
1.6.5 为SQL Server代理使用的Windows NT账号不能是一个本地的系统账号,因为本地的系统账号不允许网络存取。
1.6.6 如果参与复制的服务器在另外的计算机域中,必须在这些域之间建立信任关系。转贴于 中国论文下载中心 http://www.studa.net

2实现基于网页的数据库数据导入
那么,如何实现基于网页的数据库数据导入呢,下面利用一个比较简单的网络介绍一下。
假设某局域网的网络拓扑结构如下所示:

其中服务器A 和工作站B位于局域网内,工作站C 与服务器D 位于Internet内,局域网与Internet是物理隔离的,工作站C与工作站D 在同一个办公室内,服务器A上的数据库管理系统是Oracle, 服务器D上的数据库管理系统是SQL Server 2000。由于工作需要,要求把服务器A 的有关数据导入到服务器D上。
2.1通常的工作流程:
2.1.1 在工作站B上运行客户端软件,将服务器A上数据导入到本地的dbf文件。
2.1.2 用移动硬盘 把dbf文件从工作站B拷贝到工作站C上。
2.1.3 在工作站C上,用ftp软件将dbf文件上传到服务器D上。
2.1.4 在工作站C上,运行远程桌面软件登录到服务器D上。
2.1.5 在服务器D上,执行DTS,将dbf文件中的数据导入到SQL Server
数据库。
2.1.6 在服务器D上,运行相关存储过程,做数据的后期处理工作。
在许多情况下,因为各种不同情况的需要,这个工作流程每天(甚至更短的时间内)就要执行一次,非常繁琐,而且使用手工操作,很容易出错。下面提出一种改进的方案。
2.2改进后的工作流程
2.2.1 在工作站B上运行客户端软件,将服务器A上数据导入到本地的dbf文件。
2.2.2 用移动硬盘 把dbf文件从工作站B拷贝到工作站C上。
2.2.3 在工作站C上,打开服务器D上的相关网页,利用网页将dbf文件的数据导入到服务器D上的SQL Server数据库中。
首先,要在网页里实现上传功能,把dbf文件从工作站C上传到服务D上,这里就不多介绍了。要通过网页把dbf文件导入到SQL Server 中,需要借助DTS可编程对象。DTS包含一组可编程COM对象,主要包含:DTS.Package、DTS.Connection、DTS.Step、DTS.ExecuteSQLTask、DTS.DataPumpTask、DTS.Transformation。
在ASP网页里,通过用VBScript脚本创建调用DTS可编程COM对象,可以完成数据导入任务。SQL Server 2000有比较详细的文档资料介绍DTS编程 ,但没有给一个具体的例子,如果仅参考文档资料,难度比较大,开发时间也会相当长。这里大概的介绍一下开发程序的过程。首先,在SQL Sever 2000的DTS设计器里,创建DTS包,实现从dbf文件到SQL Server 2000的数据导入,把后期处理的存储过程也添加到DTS包里。将这个DTS包另存为VBScript文件。有了这个VBScript文件,开发程序就容易多了,加入所需要的其他代码,就可以在网页里实现数据库的数据导入。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
支付宝健康码变色规则 ...变绿码?昨天做了核酸检测结果是阴性,多久健康码从黄码变成绿码_百度... 母亲有乙肝孩子一定会有吗 ...的作文,600字,要有真实情感最好写心灵的。帮帮忙,必采纳。谢谢啦... ...自我介绍怎么写呀!,急急急!!!拜托各位谢谢啦!!_百度... 以“我身边的文明礼仪”为题写一篇作文,请各位大侠帮帮忙啦... 石家庄100平米房子改水电多少钱一平 石家庄居民水电煤气费都是多少钱? 石家庄水电一个月多少钱一个月多少钱 石家庄水电价格是多少钱 sata3数据线是干什么用的? 买了款技嘉主板,带的SATA排线是干什么用的?是往硬盘上连接的吗?怎么还... 小范围种植弥猴桃 寻找股市各个板块的龙头企业? SATA线是干什么用的? 猕猴桃有多少种 湖南老家山里摘的一种野果,小手指大小,看起来像猕猴桃里面果实也像,但肯定不是野生猕猴桃,请问是什么 买微星b450i送的两根线,请问是干什么用的? 谁能告诉我 股市各行各业龙头企业 每个行业多几个!!!谢谢 鲁迅故居导游词 鲁迅博物馆导游词 eclick.baidu.com 求一篇绍兴鲁迅故里的英文讲解词 绍兴鲁迅故居的介绍 鲁迅纪念馆的导游解说词80字的 为什么有的腌鸭蛋的蛋黄,有的的中心有个硬硬的疙瘩? 咸鸭蛋腌制时间长了。里面蛋黄硬了能吃吗 咸鸭蛋腌时间长了黄怎么那么硬了呢怎么让它好吃呀 本人江苏常州青龙人。户口簿丢失应该怎么补办,大概多长时间 六爻能精确预测数字吗,比如我要测这个人在几班?我的钱是谁偷的? 我是河北青龙人,目前正在建新房,听说马上就要煤改电了,我的取暖才用什么方式在煤改电的时候还能用? 打印机怎么打印全页 打印机页面怎么设置能打印完整 一张纸AB面怎么打印 51单片机矩阵键盘怎么检测啊 这个是矩阵键盘的检测,这个while循环里面,一开始不加temp等于P3,那么执行完switch语 滨特尔净水和GE净水怎么回事?有什么区别?大连前置过滤器哪家的质量比较好呢?清澈。 单片机矩阵键盘检测的疑问 51单片机的矩阵键盘检测问题 大连金三角市场有卖森森Hw603鱼缸用过滤器吗? 51单片机矩阵键盘检测方面的问题 大连旅顺口区家用自来水有必要加前置过滤器吗 c51单片机 在矩阵键盘松手检测的原理是什么?为什么要加松手程序?不加又会怎样?谢谢! 大连哪里有卖榨油机和榨油机过滤器的 单片机矩阵键盘怎么进行松手检测? 大连*软水机前是否要加前置过滤器?家里需要安装净水器大连有净水安装的吗?! 大连久庆泵业有限公司怎么样? 矩阵键盘检测求助 大连悦威水处理技术有限公司怎么样? 矩阵键盘检测按钮是否被按下为何要检测两次 cnc加工中心油雾收集过滤器哪家好?