SQL Server数据与Excel表的导入导出

转载 2007年09月22日 21:44:00
几乎所有的数据库管理者或者是与数据库打过交道的朋友,几乎都或多或少的了解并使用过数据导入导出的功能以便完成支持诸如数据合并、归档和分析等任务,以及开发应用程序或升级数据库或服务器,而这一切的便利都已经被SQL Server中的数据转换服务(DTS)囊括其中,它提供了一套图形化工具和可编程对象,以帮助管理员和开发人员和需要进行数据维护的人员解决数据移动问题,其中包括将数据从分散的数据源中提取出来,并且转换、合并到一个或多个目标位置。可以将任务组、工作流操作以及约束条件收集起来形成DTS软件包,然后安排它定期运行或在某些事件发生后运行。

  首先我们来先认识一下什么是DTS,它是一组工具,用于在一个或多个数据源(如Microsoft SQL Server、Microsoft Excel或Microsoft Access)间导入、导出和转换各种数据。通过OLE DB(一种数据访问的开放式标准)提供连接,通过用于ODBC的OLE DB提供程序来支持ODBC(开放式数据库连接)数据源。

  在这里我们将以具体的实例来介绍DTS数据的导入导出功能。例:使用DTS向导导出自己建立的dmtjxxb数据库中的dmtjxxb_register表,到Excel表中。

  操作步骤为:

  (1)启动SQL Server企业管理器(Enterprise Manager)后,点击SQL Server组,选择指定的服务器,如此次操作的数据库是我本地的数据库,如图:

SQL Server企业管理器

本地数据库
选中要导出的数据库名称,点击鼠标右键,在弹出的菜单点击“所有任务”选择“导出数据”选项,如下图所示,就会弹出数据导入导出向导。

  (2)单击“下一步”按钮,打开选择数据源对话框,如下图所示:

  首先在“数据源”旁的下拉列表中选择数据源。在本例中选择Microsoft OLE DB Provider for SQL Server。如果使用SQL Server认证方式,则应输入访问数据库的合法用户账号和密码,在数据库旁的下拉列表中选择dmtjxxb,如果列表中没有列出您需要的数据库可以点击(刷新按钮)。

  (3)单击“下一步”按钮,打开“选择目的”对话框,如下图所示。在“目的”旁的下拉列表中选择Microsoft Excel97-2000。“文件名”选择一个你要导入的excel表中,本例以c:/test.xls为例(这里需要注意的是,文件名称是选择的,系统不能够自动创建文件,所以要建立这个test.xls文件。)

  (4)单击“下一步”按钮,打开“指定表复制或查询”对话框,如下图所示。在此处可以指定传递的内容,可以传递表或某一查询的数据结果集甚至于数据库对象。在本例中选择从源数据库复制表和视图(这样就把全部的数据导出来了)。



(5)单击“下一步”打开“选择表和视图对话框”对话框,如图所示。从中选择一个或多个表或视图进行传递。通过“预览”按钮可对将要传递的数据进行预览。

  (6)如果想定义数据转换时源表和目标表之间列的对应关系,则单击“转换”列的方格按钮,打开列映射和转换对话框,如下图所示。

其中各选项的含义如下:

  ·创建目的表:在从源表拷贝数据前首先创建目标表,在缺省情况下总是假设目标表不存在,如果存在则发生错误、除非选中了“除去并重新创建目的表”选项;

  ·删除目的表中的行:在从源表拷贝数据前将目标表的所有行删除,仍保留目标表上的约束和索引,当然使用该选项的前提是目标表必须存在;

  ·在目的表中追加行:把所有源表数据添加到目标表中,目标表中的数据、索引、约束仍保留。但是数据不一定追加到目标表的表尾,如果目标表上有聚簇索引,则可以决定将数据插入何处;

  ·除去并重新创建目的表:如果目标表存在,则在从源表传递来数据前将目标表、表中的所有数据、索引等删除后重新创建新目标表;

  ·启用标识插入:允许向表的标识列中插入新值。

  (7)在进行数据转换时,可以通过脚本语言(如J script Per script Vb script)对源表中的某一列施加某种运算(乘、除或将该分割成几列、或将几列合并成一列),然后再将这种结果复制到目标表。此时应选中“列映射和转换”对话框的“转换”标签页,并选中“在将信息复制到目的时对其进行转换”如下图所示:

 

(8)返回“选择源表和视图”对话框(即第5步的截图),单击“下一步”打开“保存、调度和复制包”对话框,如下图所示。

在默认选项区可以选择与包有关的操作:

  ·立即运行:表示立即运行包;

  ·用复制方法发布目的数据:表示让由发布目标来进行复制;

  ·调度DTS包以便以后执行:表示将包保存之后,在以后的某一规划时间运行。在“保存”选项,选中“保存DTS包”,则将包进行保存。

  ·SQL Server:将包存储在msdb数据库中;

  ·SQL Server Meta Data Service:将包存储在Repository中;

  ·Structured Storage File:以DTSCOM结构的文件格式存储。容易通过文件服务器进行邮递和分发。

  ·Visual Basic File

  (9)单击“下一步”,打开“保存DTS包”对话框,如下图所示。在“名称”输入该包的名称“新建包”,可以将包保存在本地服务器或其它的远程服务器,也可以选择适当的认证方式,如果选择SQL Server认证,要提供用户名和密码。

  (10)单击“下一步”,在“正在完成DTS导入/导出向导”对话框中单击“完成”,结束包的创建。如图所示。

  点击“完成”按钮,就完成了数据库到excel的导出操作。看看你的c:/test.xls吧。反之如果将Excel表中的内容导入到数据库中,只需要在导入导出向导下调整源和目的数据即可。具体的操作朋友们可以自己尝试一下哦!

 

sql server 2005中表的数据与excel互相导入导出的方法

1、将EXECEL导入到SQLSERVER2005数据库方法示例:insert into dbo.tbpointconfig(pointname,punit,pmax,pmin,pvalue,g...
  • GeneralXCK
  • GeneralXCK
  • 2009年11月08日 12:26
  • 4299

用SQL Server企业管理器将数据导入/导出Excel表

几乎所有的数据库管理者或者是与数据库打过交道的朋友,几乎都或多或少的了解并使用过数据导入导出的功能以便完成支持诸如数据合并、归档和分析等任务,以及开发应用程序或升级数据库或服务器,而这一切的便利都已经...
  • godpreserve
  • godpreserve
  • 2008年05月07日 15:09
  • 10701

通过SQL语句直接实现Excel与数据库的导入导出

原文转载通过SQL语句直接实现Excel与数据库的导入导出 只尝试了其中第四条,不能成功,应该修改成从SQL数据库中,导出数据到Excel(excel不存在), ---- 导出表 E...
  • taoxiuxia
  • taoxiuxia
  • 2015年09月04日 00:31
  • 1177

excel和sqlserver之间的导入导出

 SQL Server导出为Excel:          要用T-SQL语句直接导出至Excel工作薄,就不得不用借用SQL Server管理器的一个扩展存储过程:xp_cmdshell,此过程的作...
  • libo2006
  • libo2006
  • 2007年08月01日 10:26
  • 1919

从SQL Server中导入/导出 Excel 的基本方法

/*===================  导入/导出 Excel 的基本方法 ===================*/从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句:/*...
  • feng19821209
  • feng19821209
  • 2005年01月15日 12:40
  • 1584

SqlServer表和Excel文件数据相互复制方法

SqlServer数据表和Excel文件之间进行数据交互是很常见的,除了数据库自带的“导入数据”和“导出数据”功能可以实现两者之间的数据交互外,还可以直接通过复制的方式进行数据交互。...
  • xiaouncle
  • xiaouncle
  • 2016年10月25日 18:11
  • 2063

如何利用SQL查询语句从SQLSERVER数据库中导入导出EXCEL表格

平常从SQLSERVER中进行导入导出时,我们利用SQLSERVER中自带的DTS转换工具即可,很方便。但有些特殊的用法需要用语句进行导入导出,工作中碰到这种情况,查了些资料,下面详细介绍: 一...
  • ycl295644
  • ycl295644
  • 2015年06月17日 17:22
  • 3586

sql查询插入结合Excel表实现数据库之间的交互

链接地址:点击打开链接
  • z719725611
  • z719725611
  • 2016年12月27日 12:02
  • 396

SQL SERVER 和ACCESS/excel的数据导入导出

SQL SERVER 和ACCESS/excel的数据导入导出常规的数据导入导出: 使用DTS向导迁移你的Access数据到SQL Server,你可以使用这些步骤:   1)在SQL SERVER企...
  • SafeF8
  • SafeF8
  • 2006年04月20日 16:03
  • 4831

【SQL SERVER中关于大容量数据的导入导出总结】

博文地址 请进:http://blog.csdn.net/feixianxxx/archive/2010/03/29/5427485.aspx1。关于大容量数据导入导出的一些方法SQL SERVER提...
  • leixg
  • leixg
  • 2010年03月31日 10:00
  • 4646
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL Server数据与Excel表的导入导出
举报原因:
原因补充:

(最多只允许输入30个字)