SQL SERVER 与ACCESS、EXCEL之间的数据转换
SQL SERVER 和ACCESS的数据导入导出
[日期:2007-05-06]     来源:Linux公社  作者:Linux


悉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电子表格软件中的数据进行转换,为我们提供了极大方便!

SQL SERVER 和ACCESS、EXCEL的数据导入导出的更多相关文章

  1. SQL Server通过BCP进行大批量数据导入导出

    预置条件: 使用sa帐号登录SQL Server Management Studio,右键点击安全性-登录名-数据库用户名属性,设置服务器角色为sysadmin. 删除已存在的存储过程 String ...

  2. SQL SERVER 与ACCESS、EXCEL的数据导入导出转换

    * 说明:复制表(只复制结构,源表名:a 新表名:b)      select * into b from a where 1<>1 * 说明:拷贝表(拷贝数据,源表名:a 目标表名:b) ...

  3. SQL Server 使用bcp进行大数据量导出导入

    转载:http://www.cnblogs.com/gaizai/archive/2010/04/17/1714389.html SQL Server的导出导入方式有: 在SQL Server中提供了 ...

  4. excel表格数据导入导出

    /** * 导出数据到excel表格 * Created by shenjianhua on 2018-12-28 */ package com.luer.comm.excel; import jav ...

  5. SQL SERVER 和ACCESS的数据导入导出

            //批量导入Access         string filepath = Server.MapPath("student.mdb");         stri ...

  6. SQL SERVER 与ACCESS、EXCEL的数据转换

    --Excel导入到SQL的一个新思路: /*比如Excel有两列,A列和B列需要导入到SQL表中,反正我已经有几年不用DTS之类的工具了. 在Excel中的新的一列中,直接写公式 =CONCATEN ...

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

    -- ====================================================== T-SQL代码: EXEC master..xp_cmdshell 'bcp 库名. ...

  8. Visual Basic 2012 借助DataGridView控件将Excel 2010数据导入到SQL server 2012

    (注:注释的颜色原本为绿色,在这里变为黑色,有点不便,但不会造成阅读影响.放入Visual Basic2012代码编辑器后会还原成绿色.) 摘  要:DataGridView控件作为数据传输的中介,只 ...

  9. Excel表数据导入Sql Server数据库中

    Excel表数据导入Sql Server数据库的方法很多,这里只是介绍了其中一种: 1.首先,我们要先在test数据库中新建一个my_test表,该表具有三个字段tid int类型, tname nv ...

随机推荐

  1. 理解Storm Metrics

    在hadoop中,存在对应的counter计数器用于记录hadoop map/reduce job任务执行过程中自定义的一些计数器,其中hadoop任务中已经内置了一些计数器,例如CPU时间,GC时间 ...

  2. tornado系列文章

    http://www.nowamagic.net/academy/detail/13321030

  3. direct path read/write (直接路径读/写)

    转载:http://www.dbtan.com/2010/04/direct-path-readwrite.html direct path read/write (直接路径读/写): 直接路径读(d ...

  4. 深度学习、图像识别入门,从VGG16卷积神经网络开始

    刚开始接触深度学习.卷积神经网络的时候非常懵逼,不知道从何入手,我觉得应该有一个进阶的过程,也就是说,理应有一些基本概念作为奠基石,让你有底气去完全理解一个庞大的卷积神经网络: 本文思路: 一.我认为 ...

  5. mysq更新(六) 单表查询 多表查询

      本节重点: 单表查询 语法: 一.单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY fiel ...

  6. cs 更新

    CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素. 当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染). CSS语法 CSS实例 ...

  7. Linux系统下MongoDB的简单安装与基本操作

    这篇文章主要介绍了Linux系统下MongoDB的简单安装与基本操作,需要的朋友可以参考下   Mongo DB ,是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式,备 ...

  8. Python常量工具类

    1.定义常量类constant.py # -*- coding: utf-8 -* """常量工具类 author: Jill usage: from constant ...

  9. shiro 框架

    惊天给大家总结一点shiro框架的小知识 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理.使用Shiro的易于理解的API,您可以快速.轻松地获得任何应 ...

  10. reportng代替testng的默认报告——pom设置

    既然是maven项目,直接关注pom设置. 这篇写得很清楚了:maven+testng+reportng的pom设置 强调一点的是,guice必须依赖,就因这个卡了大半天. <dependenc ...