夜鹰教程网-程序员的加油站
 当前位置:文章中心 >> sql2016_sql2012_sql2015_sql2008
SQL SERVER 与ACCESS、EXCEL的数据转换
夜鹰教程网 来源:www.yyjcw.com 日期:2016-11-26 19:51:06
SQL SERVER 与ACCESS、EXCEL的数据转换 
熟悉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电子表格软件中的数据进行转换,为我们提供了极大方便!
复制链接 网友评论 收藏本文 关闭此页
上一条: 使用Access和Excel需要注意的2000…  下一条: Microsoft Access经典入门之一
夜鹰教程网成立于2008年,目前已经运营了将近 13 年,发布了大量关于 html5/css3/C#/asp.net/java/python/nodejs/mongodb/sql server/android/javascript/mysql/mvc/easyui/vue/echarts原创教程。 我们一直都在坚持的是:认证负责、一丝不苟、以工匠的精神来打磨每一套教程,让读者感受到作者的用心。我们默默投入的时间,确保每一套教程都是一件作品,而不是呆板的文字和视频! 目前我们推出在线辅导班试运营,模式为一对一辅导,教学工具为QQ。我们的辅导学科包括 java 、android原生开发、webapp开发、商城开发、C#和asp.net开发,winform和物联网开发、web前端开发,但不仅限于此。 普通班针对的是国内学员,例如想打好基础的大学生、想转行的有志青年、想深入学习的程序员、想开发软件的初学者或者业余爱好者等。 就业办针对即将毕业上岗的大四学生,或者打算转行的初级开发工程师。 留学生班针对的是在欧美、加拿大、澳洲、日本、韩国、新加坡等地留学的中国学子,目的是让大家熟练地掌握编程技能,按时完成老师布置的作业,并能顺利地通过考试。 详细咨询QQ:1416759661   夜鹰教程网  基于角色的权限管理系统(c-s/b-s)。
  夜鹰教程网  基于nodejs的聊天室开发视频教程
  夜鹰教程网  Git分布式版本管理视频教程
  夜鹰教程网  MVC+EasyUI视频教程
  夜鹰教程网  在线考试系统视频教程
  夜鹰教程网  MongoDB视频教程。
  夜鹰教程网 Canvas视频教程
  夜鹰教程网 报表开发视频教程
  热点推荐
牛人是怎样处理海量数据的
MYSQL与MSSQL UPDATE两表更新语法…
SQL SERVER常用日期函数的详解
随机查询ORDER BY NEWID()
批量插入数据 延时 SQL
用sql转换汉字为拼音
定时同步服务器上的数据
SQL Server 2008与SQL Server 200…
在XP下安装SQL Server2000 清除安…
SQL触发器实例
Mssql触发器学习例子之UPDATE触发…
两表连接的SQL语句
写一个HTML代码或C++代码分析器是…
分页存储过程!
普通行列转换 SQL(1)
  最近更新
SQL命令:增加字段、修改字段、修…
sql 中的 indexOf 与 lastIndexOf…
SQL中使用正则表达式提取或者过滤…
什么是BI?
Mongodb是一种比较常见的NOSQL数据…
SQL2008 提示评估期已过的解决方法…
存在属性(Directory, Compressed)…
属性不匹配directory,archive
sql2012安装图解教程
一条sql语句批量插入多条记录
sql2016下载
sql server2008 r2 密钥
sql2016安装密钥
sql2016安装图解教程
sql server 2012提示评估期已过的…

关于我们 | 网站建设 | 技术辅导 | 常见问题 | 联系我们 | 友情链接

夜鹰教程网 版权所有 www.yyjcw.com All rights reserved 备案号:蜀ICP备08011740号3