SQL SERVER 与ACCESS、EXCEL的数据转换
转自:http://blog.csdn.net/hedonister/archive/2005/02.aspx熟悉sql server 2000的数据库管理员都知道,其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:\finance\account.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:\finance\account.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:\training\inventur.xls')...[filiale1$]
(bestand, produkt) values (20, 'test')
------------------------------------------------------------------------------
总结:利用以上语句,我们可以方便地将sql server、access和excel电子表格软件中的数据进行转换,为我们提供了极大方便!
↓相关文章:
- · LJez System文章系统漏洞
- · 一次艰苦的6个小时的渗透过程
- · 批量查询域名工具Domain Inspect 1.5 汉化注册版
- · 中文搜索引擎技术揭密:网络蜘蛛
- · 关于SWF文件格式分析及SWFEXE的经验积累
- · HThost免费空间(PHP+MYSQL+邮局+无限子站+统计系统)申请与管理攻略
- · hthost的一条龙服务
- · 在肉机上开个隐藏的个人主页
- · QQ2005新春贺岁版应用全攻略
- · Php+Mysql注入专题
- · 识别WEB应用组件
- · 计算机密码破解实用手册
- · 免费拥有网易收费服务
- · SQL 语法参考手册
- · 黑客常用术语
- · 玩QQ宠物的八大秘笈绝招
- · 什么是Trackback
- · 汉化软件教程
- · 解决Explorer.exe 在 Windows XP 中反复意外退出
- · 命令行方式使用FTP实战练习
- · MP4背景知识
- · 完全BIOS优化
- · ADSL入侵
- · Python学习资料
- · 网站LOGO设计规范的思考
- · 美工LOGO设计进阶
- · 防止入侵 两步修改XP远程管理默认端口
- · 解决安装XP SP2 后无法显示验证码的问题
- · 如何设计LOGO-字母变形标志教程
- · 关于Java的一切 : 工具, 类库, 框架
- · 预防SQL注入漏洞函数
- · SQL注入漏洞全接触
- · XREA空间数据库操作的相关更新
- · ADSL知识合集
- · Windows2000绝版安全
- · QQ号码的基本知识
- · 86件Firefox浏览器能而IE不能做的事
- · 解决国内不能正常访问GMAIL的方法
- · Label标签创新使用,1G容量轻松管理
- · cs1.5命令
- · 巧用DOS命令上传文件
- · 动态IP變固定ip的詳細步驟
- · Window 服务全攻略大全
- · Discuz! 2.5F cookie未过滤漏洞
- · 来自MSN官方网站的使用技巧集锦
- · WinXPSP2激活精彩问答
- · 修改MD5加密 提高网站安全
- · MSSQL注入攻击服务器与防护
- · TCP端口的作用、漏洞和操作建议
- · 国内10大bt站点
- · 用命令检查电脑是否被安装木马
- · 美国名牌大学的计算机网络课程网址
- · IPC$命令
- · 网管秘技八招
- · 实现重启后删除文件的工具
- · Windows 2000游戏能力大揭密
- · 网络故障诊断排除70例
- · 网络组建基础必备-网线制作
- · 腾讯QQ申请分析
- · MolyX Board原代码泄露漏洞

