SQL_Server_2005数据导入导出(SQLServer2005数据库维护基础与进阶)
- 格式:ppt
- 大小:1.02 MB
- 文档页数:21
SQL Server2005与Excel之间的导入、导出一、sql2005中导入excel中数据方法一:利用SQL Server2005自带的DTS工具,手工导入,详细操作请看图。
具体操作为:导入成功后,表中数据如下所示:方法一优缺点:优点:傻瓜式操作,操作简单,容易掌握。
缺点:用此种方法导入时,excel表格必须很规范才行,也就是说如果想导入后表中的字段和excel表的标题行对应,那么标题行最好放在excel表格的第一行,否则导入的数据很混乱。
而且当数据不完整或者数据格式不正确的情况下,使用向导也会出错。
这时就要采用方法二。
方法二:在查询分析器里,直接写 SQL语句:1、如果是导入数据到现有表,则采用INSERT INTO 表名 SELECT * FROMOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=d:\test.xls',sheet1$)的形式2、如果是导入数据并新增表,则采用SELECT * INTO 表名 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 5.0;HDR=YES;DATABASE=d:\test.xls',sheet1$)的形式。
以上语句是将 EXCEL文件里 SHEET1工作表中所有的列都读进来,如果只想导部分列,可以INSERT INTO 表 (a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=d:\test.xls',sheet1$)注意:SQL Server数据库远程操作中,在使用OPENROWSET/OPENDATASOURCE前首先要启用Ad Hoc Distributed Queries服务,因为这个服务不安全所以SqlServer默认是关闭的。
Access导入到SQL Server数据库中的三种方法SQL Server数据库以2005为例,导入方法如下:一.使用SQL Server的数据库导入/导出功能。
首先在要导入到的SQL Srever数据库上右键,选择“任务”,然后选择“导入数据”,按照提示下一步直到完成即可成功将Access数据库导入到SQL Server数据库中,此种方法如果SQL Server数据库中没有相应的数据表,则会自动创建改表,但是约束等表关系不会同步导入,如果SQL Server中有相同名称并且属性相同的数据表,则会直接将Access数据库中的对应表的数据导入。
在导入过程中,还可以通过SQL语句指定要导入的数据。
使用这种方法一般会出现以下两种错误:(1)无法建立数据流连接为连接管理器“{FFBF32BF-EE84-4F94-ACDB-D4C5AC4C2941}”指定的连接类型“OLEDB”未被识别为有效的连接管理器类型。
当视图创建未知连接类型的连接管理器时会返回此错误。
请检查连接类型名称的拼写是否正确。
(2)无法连接源组件找不到连接“SourceConnectionOLEDB”。
如果找不到特定的连接元素,Connections集合将发生此错误。
其他信息:找不到连接“SourceConnectionOLEDB”。
如果找不到特定的连接元素,Connections集合将发生此错误。
({0DE0CDBB-BCD6-4261-A118-B0CB22DA3C4A})具体解决办法是打开SqlServer Configuration Manage,右键单击“Sql Server Integrati on Services”,选择“属性”,将登录身份修改为“Local System(本地系统)”,然后重新启动该服务。
二.使用Access数据库的数据升迁功能。
首先点击“工具”菜单,选择“数据库实用工具”,选择“升迁向导”,这是会提示你该功能尚未安装,需要安装XXX之类的信息,点击安装,等待安装成功后,即可弹出“升迁向导”对话框,按照提示下一步直到完成,即可将Acces s数据库导入到SQL Server数据库中。
精简版SQL Server 2005 数据库导出、导入办法
1、数据库导出(备份)
选中要备份(导出)数据库—>右击,选择“任务”(即Tasks)—>选择“备份”(即Back up)—>选择“普通”(即General),然后按下图选择操作
然后选择“选项”(即Options),按照下图选择操作,最后选择“确定”(即ok)即可将数据库备份。
2、数据库导入(还原)
首先,将要导入或还原的“.bak”文件放到c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup目录下。
其次,打开SQL Server ,选中要还原的数据库(即要将备份数据库导入的目标数据库)—>右击,选择“任务”(即Tasks)—>选择“还原数据库”(即Restore—>database)—>选择“普通”(即General),然后选择“从设备”(即From device),点击右侧选择目标框,会弹出一个窗口如下图所示
选择添加,会出现如下窗口
从中选择要还原的数据库备份,然后“确定”。
在添加页面选择“确定”。
就会回到“普通”页面,选中相应数据库,如下图:
然后选择“选项”(即Options)操作,按下图操作:
最后选择“确定”(或ok)即可。
从SQL server 2005中移植数据到Oracle 10g1.移植前准备在移植前,需要安装必需的各种软件,如下:(1).安装好SQL server 2005的补丁包和SP2。
(2).安装Oracle安装包里的oracle客户端浏览器(PL/SQL Developer)。
(可以根据需要按照汉化补丁,汉化包不安装也可)(3).硬件要求:在Oracle数据库所在的硬盘保持足够剩余空间(至少有2GB的空间剩余);建议在启用Oracle服务时机器的内存不少于2GB。
没有特别说明的情况下,本文的数据移植是针对普通的属性数据。
2.移植2.1.创建数据库打开Oracle中的Database Configuration Assistant进行数据库的创建,如图所示:图表1 打开Database Configuration Assistant进入Database Configuration Assistant后点击“下一步”,然后出现如图表2所示的界面,选择“创建数据库”后点击“下一步”:如图表3所示选择第一个“一般用途”然后点击下一步:图表3 选择模板如图标2所示在创建数据库过程中的第3步,在“全局数据库名”中输入数据库名称,SID则会自动默认为全局数据库名,然后点击“下一步”;点击如图表5所示界面中的“确定”按钮系统就开始创建数据库了。
图表5图表6 正在传教数据库最后点击如图表4所示中的“退出”按钮就创建数据库完成了。
图表7 创建数据库完成2.2.登录Oracle打开PL/SQL Developer并用system(数据库默认的用户名)用户身份登录到XQ2DSGN并选择连接为SYSDBA,如图所示:图表8 登录到PLSQL2.2.1.创建表空间创建表空间的sql语句:SQL>create tablespace xq2dsgn datafile 'G:\oracle\product\10.2.0\ oradata\xq2dsgn\xq2dsgn.dbf' size 2048m autoextend on next 10m maxsize unlimited ;(参考:通过PL/SQL Developer登录到Oracle数据库上后,打开菜单:文件/新建/命令窗口,打开一个命令窗口然后在该命令窗口中执行脚本创建和删除表空间,新建用户和授权的操作,如图所示:图表9 打开命令窗口创建表空间Sql>create tablespace xqds2gn datafile ' D:\oradata\xq2dsgn\ xq2dsgn.dbf ' size 200m autoextend on next 10m maxsize unlimited;Sql>alter database datafile ' D:\oradata\xq2dsgn\ xq2dsgn.dbf ' autoexte nd on;1 DATAFILE: 表空间数据文件存放路径2 SIZE: 起初设置为200M3 UNIFORM: 指定区尺寸为128k,如不指定,区尺寸默认为64k4 空间名称xq2dsgn 与数据文件名称xq2dsgn.dbf 不要求相同,可随意命名.5 AUTOEXTEND ON/OFF表示启动/停止自动扩展表空间6alter database datafile ' D:\oradata\xq2dsgn\ xq2dsgn.dbf ' resize 500 m;//手动修改数据文件大小为500M图表10 表空间创建完成删除表空间语句如下:DROP TABLESPACE xq2dsgn INCLUDING CONTENTS AND DATAFILES;2.2.2.创建用户1.建立用户并为用户指定缺省的永久表空间和临时表空间SQL> create user xq2dsgn identified by xq2dsgndefault tablespace xq2dsgntemporary tablespace temp;用户已创建。
SQL2005 数据导入注:进行数据导入时,源数据表和目标数据表的表结构要完全相同;若数据表含有主键,进行数据导入时,源数据表中的数据主键内容和目标数据表的中主键内容相同时,数据便不会导入;多个表进行数据导入时,只有存在主键内容相同的表导入失败,其他的表正常导入。
步骤:图1 登陆数据库打开SQL2005,输入服务器名称、身份验证方式、登录名和密码,点击“连接”,进入SQL2005管理页面。
选中要进行数据导入的目标数据库,如图2,“右键”---“任务”---“导入数据”,进入图3:点击下一步,进入数据源选择页面,如图4:图4 选择数据源在图4中填写:数据源:数据源存在其他数据库中,选择“SQL Native Client”;服务器名称:数据源所在的数据库服务器名称;身份验证:登陆数据源所在的数据库服务器的身份验证方式、用户名和密码;数据库:数据源所在数据库的名称。
点击“下一步”进入图5:图5 选择目标数据库在图5中填写:目标:数据源存放方式,复制到其他的数据库中,选择“SQL Native Client”;服务器名称:目标数据库服务器名称;身份验证:登陆目标数据库服务器的身份验证方式、用户名和密码;数据库:数据存放的目标数据库的名称。
点击“下一步”,进入图6:图6 数据复制方式选择数据复制的方式(是对整个表数据的复制,还是复制满足条件的数据)。
这里复制整个表的所有数据,选择“复制一个或多个表或视图的数据”,点击“下一步”,进入图7:选择要复制数据所在的表,点击“下一步”,进入图8:点击“下一步”,进入图9:点击“完成”,进入图10:出现此界面,表示数据复制完成。
点击“关闭”即可。
MS Sql Server 2005无法导入平面数据问题解决办法所需导入的数据格式文件,如EXCEL和ACCESS,以及TXT或RTF文件均无法导入SQL Server 2005的数据库,但均可以导入SQL Server2000数据库。
在网上查询说需要打补丁,打到SP2也无济于事,把目标数据表的字段设置为最大也不行。
最后在国外网站找到了解决办法:导入过程中的平面文件源的高级设置出了问题。
在SQL Server 2005数据库的导入导出向导过程中,选择了平面数据源,选定了平面文件后,要单击左侧的高级选项,将OutPutColumnWidth(输出列宽度)设置大,根据你列字段的长度,默认的是50,如果你的列中有超过50个字符长度,将会在导出导入过程中提示下面的错误。
设置好后,就可以开始你的导入之旅,是不是很畅。
OutPutColumnWidth的解释:此列在数据流中的宽度,以单字符表示。
组合字符可能需要两个或更多单字符空间。
意思是,如果是20个汉字,那么长度至少要设置为20×2=40。
最后在微软的网站上找到关于该问题的详细解释。
附我在向SQL Server 数据库导入TXT数据过程遇到的错误信息,解决办法在上面:操作已停止...- 正在初始化数据流任务 (成功)- 正在初始化连接 (成功)- 正在设置 SQL 命令 (成功)- 正在设置源连接 (成功)- 正在设置目标连接 (成功)- 正在验证 (成功)- 准备执行 (成功)- 执行之前 (成功)消息* 信息 0x402090dc: 数据流任务: 已开始处理文件“F:\Documents and Settings\listening\桌面\佛山.txt”。
(SQL Server 导入和导出向导)- 正在执行 (错误)消息* 错误 0xc02020a1: 数据流任务: 数据转换失败。
列“列 2”的数据转换返回状态值 4 和状态文本“文本被截断,或者一个或多个字符在目标代码页中没有匹配项。
sql语句完成数据的导⼊导出熟悉SQL SERVER的数据库管理员都知道,其DTS可以进⾏数据的导⼊导出,其实,我们也可以使⽤Transact-SQL语句进⾏导⼊导出操作。
在 Transact-SQL语句中,我们主要使⽤OpenDataSource函数、OPENROWSET 函数,关于函数的详细说明,请参考SQL联机帮助。
利⽤下述⽅法,可以⼗分容易地实现SQL SERVER、ACCESS、EXCEL数据转换,详细说明如下:⼀、SQL SERVER 和ACCESS的数据导⼊导出常规的数据导⼊导出:使⽤DTS向导迁移你的Access数据到SQL Server,你可以使⽤这些步骤:○1在SQL SERVER企业管理器中的Tools(⼯具)菜单上,选择Data Transformation○2Services(数据转换服务),然后选择 czdImport Data(导⼊数据)。
○3在Choose a Data Source(选择数据源)对话框中选择Microsoft Access as the Source,然后键⼊你的.mdb数据库(.mdb⽂件扩展名)的⽂件名或通过浏览寻找该⽂件。
○4在Choose a Destination(选择⽬标)对话框中,选择Microsoft OLE DB Prov ider for SQL Server,选择数据库服务器,然后单击必要的验证⽅式。
○5在Specify Table Copy(指定表格复制)或Query(查询)对话框中,单击Copy tables(复制表格)。
○6在Select Source Tables(选择源表格)对话框中,单击Select All(全部选定)。
下⼀步,完成。
Transact-SQL语句进⾏导⼊导出:1.在SQL SERVER⾥查询access数据:SELECT *FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:"DB.mdb";User ID=Admin;Password=')...表名2.将access导⼊SQL server在SQL SERVER ⾥运⾏:SELECT *INTO newtableFROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0','Data Source="c:"DB.mdb";User ID=Admin;Password=' )...表名3.将SQL SERVER表⾥的数据插⼊到Access表中在SQL SERVER ⾥运⾏:insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source=" c:"DB.mdb";User ID=Admin;Password=')...表名(列名1,列名2)select 列名1,列名2 from sql表实例:insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0','C:"db.mdb';'admin';'', Test)select id,name from TestINSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:"trade.mdb'; 'admin'; '', 表名)SELECT *FROM sqltablename⼆、SQL SERVER 和EXCEL的数据导⼊导出1、在SQL SERVER⾥查询Excel数据:SELECT *FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:"book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]下⾯是个查询的⽰例,它通过⽤于 Jet 的 OLE DB 提供程序查询 Excel 电⼦表格。