SQL2005数据库导入导出办法
SQL Server2005与Excel之间的导入与导出

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数据库中的三种方法

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数据库中。
SQL2005数据库文件迁移

use master
go
sp_detach_db ‘INET_PM’
go
刷新Object Explorer,此时应该已经看不到INET_PM的数据库了。
或者按图中所示,进行分离。
2.附加新数据库
鼠标右击数据库,在弹出的菜单中选择“附加”:
在弹出的窗口中,添加数据库文件:
或运行以下命令,使用存于新地址的INET_PM数据库文件。(D:\Microsoft SL Server\MSSL.4\INET_PM_DATA.DBF, INET_PM_LOG.LBF)
use master
go
sp_attach_db ‘INET_PM’,’D:\Microsoft SL Server\MSSL.4\INET_PM_DATA.DBF’,’ D:\Microsoft SL Server\MSSL.4\ INET_P常
刷新Object Explorer,此时应该可以看到新附着(attach)的数据库了。运行以下命令,
新建一个文件夹,我这里取名叫D:\Microsoft SL Server\MSSL.4,然后把C盘的要迁移的数据库文件拷贝到这个文件夹下,比如数据库名叫INET_PM,那么对应的数据文件应该是INET_PM_DATA.DBF, 日志文件是INET_PM_LOG.LBF.
1.将原数据库分离
运行’Microsoft SL Server Managment Studio’,并连接到需要迁移的数据库服务器上。 选择数据库服务器名,点击右键选择’New uery’。运行以下命令,使INET_PM数据库和数据库服务器分离(detach)。
sqlserver2005导出包含数据的脚本

sqlserver2005导出包含数据的脚本--SQL Server里面导出SQL脚本(表数据的insert语句)CREATE PROCEDURE pOutputData@tablename sysnameASdeclare @column varchar(1000)declare @columndata varchar(1000)declare @sql varchar(4000)declare @xtype tinyintdeclare @name sysnamedeclare @objectId intdeclare @objectname sysnamedeclare @ident intset nocount onset @objectId=object_id(@tablename)if @objectId is null -- 判断对象是否存在beginprint 'The object not exists'returnendset @objectname=rtrim(object_name(@objectId))if @objectname is null or charindex(@objectname,@tablename)=0 --此判断不严密beginprint 'object not in current database'returnendif OBJECTPROPERTY(@objectId,'IsTable') < > 1 -- 判断对象是否是tablebeginprint 'The object is not table'returnendselect @ident=status&0x80 from syscolumns where id=@objectid and status&0x80=0x80if @ident is not nullprint 'SET IDENTITY_INSERT '+@TableName+' ON'declare syscolumns_cursor cursorfor select ,c.xtype from syscolumns c where c.id=@objectid order by c.colidopen syscolumns_cursorset @column=''set @columndata=''fetch next from syscolumns_cursor into @name,@xtypewhile @@fetch_status < >-1beginif @@fetch_status < >-2beginif @xtype not in(189,34,35,99,98) --timestamp不需处理,image,text,ntext,sql_variant 暂时不处理beginset @column=@column+case when len(@column)=0 then'' else ','end+@nameset @columndata=@columndata+case when len(@columndata)=0 then '' else ','','','end+case when @xtype in(167,175) then '''''''''+'+@name+'+''''''''' --varchar,charwhen @xtype in(231,239) then '''N''''''+'+@name+'+''''''''' --nvarchar,ncharwhen @xtype=61 then '''''''''+convert(char(23),'+@name+',121)+''''''''' --datetimewhen @xtype=58 then '''''''''+convert(char(16),'+@name+',120)+''''''''' --smalldatetimewhen @xtype=36 then '''''''''+convert(char(36),'+@name+')+''''''''' --uniqueidentifierelse @name endendendfetch next from syscolumns_cursor into @name,@xtypeendclose syscolumns_cursordeallocate syscolumns_cursorset @sql='set nocount on select ''insert '+@tablename+'('+@column+') values(''as ''--'','+@columndata+','')'' from '+@tablenameprint '--'+@sqlexec(@sql)if @ident is not nullprint 'SET IDENTITY_INSERT '+@TableName+' OFF' GO执行时:exec UspOutputData +表名。
Microsoft Sql Server2005导入导出语句大全

SQL语句导入导出大全/*******导出到excelEXEC master..xp_cmdshell'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c-q-S"GNETDATA/GNETDATA"-U"sa"-P""'/***********导入ExcelSELECT*FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel5.0')...xactions/*动态文档名declare@fn varchar(20),@s varchar(1000)set@fn='c:\test.xls'set@s='''Microsoft.Jet.OLEDB.4.0'',''Data Source="'+@fn+'";User ID=Admin;Password=;Extended properties=Excel5.0'''set@s='SELECT*FROM OpenDataSource('+@s+')...sheet1$'exec(@s)*/SELECT cast(cast(科目编号as numeric(10,2))as nvarchar(255))+''转换后的别名FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel5.0')...xactions/**********************EXCEL导到远程SQL 中国网管博客insert OPENDATASOURCE('SQLOLEDB','Data Source=远程ip;User ID=sa;Password=密码').库名.dbo.表名(列名1,列名2)SELECT列名1,列名2FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel5.0')...xactions/**导入文本文档EXEC master..xp_cmdshell'bcp dbname..tablename in c:\DT.txt-c-Sservername-Usa-Ppassword'/**导出文本文档EXEC master..xp_cmdshell'bcp dbname..tablename out c:\DT.txt-c -Sservername-Usa-Ppassword'或EXEC master..xp_cmdshell'bcp"Select*from dbname..tablename" queryout c:\DT.txt-c-Sservername-Usa-Ppassword'导出到TXT文本,用逗号分开exec master..xp_cmdshell'bcp"库名..表名"out"d:\tt.txt"-c-t,-U sa-P password'BULK INSERT库名..表名FROM'c:\test.txt'WITH(FIELDTERMINATOR=';',ROWTERMINATOR='\n'网管软件下载)--/*dBase IV文档select*fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase IV;HDR=NO;IMEX=2;DATABASE=C:\','select*from[客户资料4.dbf]')--*/--/*dBase III文档select*fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase III;HDR=NO;IMEX=2;DATABASE=C:\','select*from[客户资料3.dbf]')--*/--/*FoxPro数据库select*from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\', 'select*from[aa.DBF]')--*//**************导入DBF文档****************/select*from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceDB=e:\VFP98\data;SourceType=DBF','select*from customer where country!="USA"order by country')go/*****************导出到DBF***************/假如要导出数据到已生成结构(即现存的)FOXPRO表中,能够直接用下面的SQL语句bitsCN_cominsert into openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\', 'select*from[aa.DBF]')select*from表说明:SourceDB=c:\指定foxpro表所在的文档夹aa.DBF指定foxpro表的文档名./*************导出到Access********************/insert into openrowset('Microsoft.Jet.OLEDB.4.0','x:\A.mdb';'admin';'',A表)select*from数据库名..B表/*************导入Access********************/insert into B表selet*from openrowset('Microsoft.Jet.OLEDB.4.0', 'x:\A.mdb';'admin';'',A表)文档名为参数declare@fname varchar(20)set@fname='d:\test.mdb'exec('SELECT a.*FROM opendatasource(''Microsoft.Jet.OLEDB.4.0'','''+@fname+''';''admin'';'''',topics)as a')SELECT*FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="f:\northwind.mdb";Jet OLEDB:Database Password=123;User ID=Admin;Password=;')...产品www_bitscn_com*********************导入xml文档DECLARE@idoc intDECLARE@doc varchar(1000)--sample XML documentSET@doc='<root><Customer cid="C1"name="Janine"city="Issaquah"><Order oid="O1"date="1/20/1996"amount="3.5"/><Order oid="O2"date="4/30/1997"amount="13.4">Customer was very satisfied</Order></Customer><Customer cid="C2"name="Ursula"city="Oelde"><Order oid="O3"date="7/14/1999"amount="100"note="Wrap it bluewhite red"><Urgency>Important</Urgency>Happy Customer.</Order><Order oid="O4"date="1/20/1996"amount="10000"/>中国网管博客</Customer></root>'--Create an internal representation of the XML document.EXEC sp_xml_preparedocument@idoc OUTPUT,@doc--Execute a SELECT statement using OPENXML rowset provider.SELECT*FROM OPENXML(@idoc,'/root/Customer/Order',1)WITH(oid char(5),amount float,comment ntext'text()')EXEC sp_xml_removedocument@idoc/**********************Excel导到Txt****************************************/想用select*into opendatasource(...)from opendatasource(...)实现将一个Excel文档内容导入到一个文本文档假设Excel中有两列,第一列为姓名,第二列为很行帐号(16位)且银行帐号导出到文本文档后分两部分,前8位和后8位分开。
SQL_Server_2005数据导入导出(SQLServer2005数据库维护基础与进阶)

图11-24 选择目标对话框
图11-25 选择文件对话框
2. 导出数据库至文本文件
(4)单击“下一步”按钮,就会出现指定表复制或查询对话框。其中可以选定将源数据库中的表格 或视图复制到文本文件,还是将满足查询结果的记录复制到文本文件。 (5)单击“下一步”按钮,则出现“配置平面文件目标”对话框,如图11-26所示。如图11-27所示 在该对话框中单击“编辑转换”按钮,则出现列映射对话框.
图11-5 选择源表和视图对话框
图11-6 列映射对话框
1.导入Access数据库 (5)在图11-5中单击“ 下一步”按钮,则会出 现“保存并执行包”对 话框,如图11-7所示。 在该对话框中,可以指 定是否希望保存SSIS包 ,也可以立即执行导入 数据操作。
图11-7 “保存并执行包”对话框
1.导入Access数据库 (6)单击“下一步”按钮,则出现“包保护级别”对话框,如图11-8所示。点击“ 确定”按钮可完成包保护导级别设定,并打开“保存SSIS包”页框,如图所示。
图11-11 选择文本数据源对话框
2. 导入文本文件
(3)单击“下一步”按钮,就会出现选择目的数据库类型对话框,如图 11-12所示。这里选择为SQL Server,选定服务器名称和数据库名称后, 单击“下一步”按钮,则出现选择源表和视图对话框,如图所示。
图11-12 选择目的数据库对话框
图11-13 选择源表和视图对话框
图11-1 打开导入向导
图11-2 选择数据源对话框
数据的导入
1.导入Access数据库
(3)单击“下一步”按钮,则出现选择导入的目标数据库类型对话框,如图11-3所示。本 例使用SQL Server数据库作为目标数据库,在目标对话框中选择SQL Native Client,在服 务器名称框中输入目标数据库所在的服务器名称。下方需要设定连接服务器的安全模式以 及目标数据库的名称。设定完成后,单击“下一步”按钮,则出现指定表复制或者查询对 话框,如图11-4所示。
向SQL server2005中导入excel数据

向SQL server 2005中导入excel数据:1、使用命令行,(数据库中缺少ssis):起因:项目中Excel 数据要导入到数据库中。
操作:1、开启OPENROWSET 和 OPENDATASOURCE 功能。
方式1:开始 -> 程序 -> Microsoft SQL Server 2005 -> 配置工具 -> 外围应用配置 -> [选择计算机 - 选择“使用中的服务器”所在的计算机 - 功能的外围应用配置器 - 选中复制框“启用 OPENROWSET 和 OPENDATASOURCE 支持” - 应用]本机中的使用方式:开始 -> 程序 -> Microsoft SQL Server 2005 -> 配置工具 -> SQL Server外围应用配置器 -> 功能的外围应用配置器 -> 选中复制框“启用 OPENROWSET 和OPENDATASOURCE 支持” -> 应用2、进入查询界面:(即打开数据库)方式1:开始 -> 程序 -> Microsoft SQL Server 2005 -> SQL Server Management Studio[连接对象资源管理器 - 连接“使用中的服务器” - 数据库 - 打开“使用的数据库” - 新建查询 - 执行“导入语句” ]3、步骤2中的导入语句如下:Insert TestXls --注:此为已存在的表,即为目的SELECT * --注:此应据实际需要写上具体字段FROM --注:此为Excel文件,即为来源OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source=F:\WebsiteProject\StaffInfo.xls;Extended Properties=Excel 8.0')...[T$]/*已测试通过*/SELECT * into newtable --注:目的表,此为不存在的表,如果存在则会提示:消息2714,级别16,状态6,第1 行数据库中已存在名为'newtable的对象。
[SQL]将Excel表数据导入SQL Server2005的几种方法归纳
![[SQL]将Excel表数据导入SQL Server2005的几种方法归纳](https://img.taocdn.com/s3/m/ea168142be1e650e52ea9912.png)
[SQL]将Excel表数据导入SQL Server2005的几种方法归纳近日在巨轮着手车间负荷数据处理,反馈回来的数据是保存在Excel文件中的,我必须将其导入SQL Server2005中,供存储过程计算。
由于之前没有将Excel数据导入SQL Server2005的经验,因此摸索着花了一天时间才搞定。
下面将网上收集到的几种导入方法做个归纳。
方法一、利用SQL Server2005自带的DTS工具,手工导入:第一步是点击开始并选择运行并输入CMD然后在命令提示符里输入DTSWIZARD。
SQL Server 导入和导出向导的欢迎界面将显示出来,如下图所示:(也可以这样打开该界面:1、登录到 SQL Server Management Studio。
2、在“对象资源管理器”中右键单击“管理”,在弹出列表中单击“导入数据”。
)当你点击下一步按钮时,它将进入选择数据源向导界面。
用户应该选择数据源为Microsoft Office 12.0 Access Database Engine OLE DB Provider 然后在向导界面中点击属性…按钮,它将弹出数据链接属性界面。
在所有标签页中,双击数据源属性值并输入电子数据表的位置,例如“C:\Excel2007\Import\SampleData.xlsx”作为导入数据的数据源的Microsoft Office Excel 2007文件名称和路径。
然后双击扩展属性并选择Excel 12.0作为属性值。
到Microsoft Office Excel 2007的连接可以通过点击测试连接按钮来进行测试,如下图所示:在下一个页面中,数据源需要选为SQL Native Client,因为数据将导入到SQL Server 2005。
然后你需要选择数据所要导入的服务器名称,并需要配置合适的验证模式,它之后跟着数据库名称。
在这个例子中,我们将使用windows验证连接到本地SQL Server实例,所使用的数据库将是ImportExcel。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
精简版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)即可。