电脑技巧.图片新闻 | 用户注册 | 用户中心 | 发表文章 | 留言簿 | 扫一扫手机阅读
    |本站二维码  
电脑常用技巧 ,电脑小技巧 ,电脑技巧 电脑应用技巧, 电脑使用技巧,汇集电脑技术,网络技术,电脑技巧知识组装维修经验资料的精华大宝库,HUGESKY&CMS官方网站-轻松实现SQL Server与Access、Excel数据表间的导入导出
本站申明:
本站尽量纯净无广告,提供交流学习类共享资料。[广告投放说明] [联系]
  • 首 页
  • 电脑知识
  • 应用技巧
  • 组装技巧
  • 维修技巧
  • 网络技巧
  • 组网通信
  • 办公技巧
  • 电脑视频
  • 编程技巧
  • 防毒技巧
  • 个人博客
电脑技巧 -> 编程技巧 -> NET编程技巧

轻松实现SQL Server与Access、Excel数据表间的导入导出

作者: 未知 来源: 网络收集 整理日期: 2011-09-11
推荐指数: 点击:3663   文字大小: 加入收藏夹


 在SQL SERVER 2000/2005中除了使用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 newtable

FROM 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 Test

INSERT 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 电子表格。

SELECT * 
FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:Financeaccount.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions


  2、将Excel的数据导入SQL server :

SELECT * into newtable

FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',

'Data Source="c:book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]


实例:

SELECT * into newtable

FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',

'Data Source="c:Financeaccount.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions


  3、将SQL SERVER中查询到的数据导成一个Excel文件

T-SQL代码:

EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:Temp.xls -c -q -S"servername" -U"sa" -P""'

参数:S 是SQL服务器名;U是用户;P是密码

说明:还可以导出文本文件等多种格式


实例:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'


EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout C: authors.xls -c -Sservername -Usa -Ppassword'


在VB6中应用ADO导出EXCEL文件代码: 

Dim cn As New ADODB.Connection

cn.open "Driver={SQL Server};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;"

cn.execute "master..xp_cmdshell 'bcp "SELECT col1, col2 FROM 库名.dbo.表名" queryout E:DT.xls -c -Sservername -Usa -Ppassword'"


  4、在SQL SERVER里往Excel插入数据:

insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',

'Data Source="c:Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3)


T-SQL代码:

INSERT INTO 

OPENDATASOURCE('Microsoft.JET.OLEDB.4.0', 

'Extended Properties=Excel 8.0;Data source=C:traininginventur.xls')...[Filiale1$] 

(bestand, produkt) VALUES (20, 'Test') 


注:如果你在Sql Server中查询一下Excel文件的时候出现问题:
SELECT * FROM OPENROWSET( 'MICROSOFT.JET.OLEDB.4.0','Excel 8.0;IMEX=1;HDR=YES;DATABASE=D:a.xls',[sheet1$])
结果提示:
SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
可以采用以下通过启用Ad Hoc Distributed Queries解决:

启用Ad Hoc Distributed Queries:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
使用完成后,关闭Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure 


 

获得更多 -> 编程技巧 -> NET编程技巧
技术支持

责任编辑: webmaster >>> 百度上搜索  谷歌上搜索

hugesky
点击复制本连接 (http://www.hugesky.com/showarticle.php?id=3820)

  转换为打印版本   在本站发表文章    关闭本页窗口
 sql server 数据库导出到xls
 SQL Server中应该了解的20个系统变量

>>> 相关资讯:

  • . asp.net里常用的js_asp.net技巧
  • . 经典SQL语句大全
  • . IT年薪20万其实不好拿(转载)
  • . SQL数据库增删改查基本语句
  • . 30秒打造强类型ASP.NET数据绑定
  • . 实现VB与EXCEL的无缝连接
  • . VB通过ADO连接SQL数据的两种方法
  • . ASP.NETMVC入门介绍(上)
  • . jquery.min.js与其他js脚本的冲突解决
  • . SQLServer数据与Excel表的导入导出
【声明】:
以上文章或资料除注明为电脑技巧原创或编辑整理外,均为网络收集整理或网友推荐。以上内容以共享、参考、研究为目的,不存在任何商业目的。
未注明作者或出处的文章,可能资料来源不规范。如有涉及版权请给予及时联系更正或予以删除。
评论:(开放)

  网友评论: 评  
以下网友评论只代表网友个人观点,不代表本站观点
  发表评论:(匿名用户不能发表评论! 注册 登陆)
昵称: 验证码:
评分:
5 4 3 2 1
内容:
  请文明参与讨论,禁止漫骂攻击。
 
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任.
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据.
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为.
内容搜索
    • 站内搜索
热门资讯
  • 图说最常用的10个电脑技巧
  • Win7解决C盘占用空间大的方法
  • 网银密码设置小技巧
  • win7安装AHCI驱动
  • 平板电脑选购六大要点
  • [推荐]五步搞定电脑网络安全 五步...
  • 系统自带的最不起眼但又是最强的...
  • 上班族必懂的电脑技能技巧
  • 电脑是由什么组成?
  • 电脑的构成设备,主机显示器键盘
广告位置
开启模板:NEWSKY -关于版权 - 隐私保护 - 联系我们 - 网站地图 - 会员列表 - 加入收藏 - 返回顶部

我问佛:如何才能如你般睿智? 佛曰:佛是过来人,人是未来佛。
部分资源收集于互联网并遵循 署名-非商业性使用-相同方式共享3.0共享,尽量署名原创。
据《信息网络传播权保护条例》 如侵犯您的权利,请联系phpol(at)qq.com删除。
Power By HugeSky.Com


Copyright© www.hugesky.com
Powered by HUGESKY CMS 7.1.1.1080918 professional licensed