Sql server中访问Excel---select from Excel

  本文介绍在MSSMS中通过SQL语句查询Excel的方法。

访问Excel主要是通过Office提供的ACE数据源来完成这个操作,使用opendatasource来实现访问Excel。即在MSSMS中执行如下命令:

  select * from opendatasource(‘Microsoft.ACE.OLEDB.12.0‘,‘data source="Excel文件绝对路径";Extended Properties=Excel 12.0‘)...SheetName$ --其中...和$不能省略

  如果执行该语句的时候出现"SQL Server 阻止了对组件 ‘Ad Hoc Distributed Queries‘ 的 STATEMENT ‘OpenRowset/OpenDatasource‘ 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 ‘Ad Hoc Distributed Queries‘。有关启用 ‘Ad Hoc Distributed Queries‘ 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。"则可以在执行该语句之前执行exec sp_configure ‘show advanced options‘,1 reconfigure和exec sp_configure ‘Ad Hoc Distributed Queries‘,1 reconfigure,前一句是打开显示高级设置,后一条是打开‘Ad Hoc Distributed Queries‘。执行这两条以后在执行访问Excel的语句就没问题了。如果执行了这两条设置语句,最后一定要记得再执行exec sp_configure ‘Ad Hoc Distributed Queries‘,0 reconfigure和exec sp_configure ‘show advanced options‘,0 reconfigure来关闭这两个设置,因为这个设置如果设置为打开状态对于数据库是极其不安全的。

时间: 2025-01-21 05:15:07

Sql server中访问Excel---select from Excel的相关文章

SQL Server中 SET 和 SELECT 赋值有什么区别?

SQL Server 中对已经定义的变量赋值的方式用两种,分别是 SET 和 SELECT.对于这两种方式的区别,SQL Server 联机丛书中已经有详细的说明,但很多时候我们并没有注意,其实这两种方式还是有很多差别的. SQL Server推荐使用 SET 而不是 SELECT 对变量进行赋值.当表达式返回一个值并对一个变量进行赋值时,推荐使用 SET 方法. 下表列出 SET 与 SELECT 的区别.请特别注意红色部分.   set select 同时对多个变量同时赋值 不支持 支持 表

在 SQL Server 中查询EXCEL 表中的数据遇到的各种问题

原文:在 SQL Server 中查询EXCEL 表中的数据遇到的各种问题 SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="D:\KK.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] 问题: 消息 15281,级别 16,状态 1,第 1 行 SQL Server 阻止了对组件 'Ad Hoc Di

VBS将本地的Excel数据导入到SQL Server中

最近有个测试,需要将本地的Excel数据导入到SQL Server中,所以就写了一个这个脚本,供有需要的同学进行参考.因为在此演示测试,所以准备的数据都比较简单. 我们准备将本地的Excel的A列插入到数据库中的Username列 首先准备本地的Excel数据 然后准备数据库及表结构 开始上脚本 Dim DB,objRecordSet Dim Excel 'SQL Server服务器地址 Dim SQLserver 'SQL Server 数据库 Dim Database 'SQL Server

十步优化SQL Server中的数据访问(转载)

原文地址:http://tech.it168.com/a2009/1125/814/000000814758.shtml 故事开篇:你和你的团队经过不懈努力,终于使网站成功上线,刚开始时,注册用户较少,网站性能表现不错,但随着注册用户的增多,访问速度开始变慢,一些用户开始发来邮件表示抗议,事情变得越来越糟,为了留住用户,你开始着手调查访问变慢的原因. 经过紧张的调查,你发现问题出在数据库上,当应用程序尝试访问/更新数据时,数据库执行得相当慢,再次深入调查数据库后,你发现数据库表增长得很大,有些表

转:Sql Server中的表访问方式Table Scan, Index Scan, Index Seek

0.参考文献 Table Scan, Index Scan, Index Seek SQL SERVER – Index Seek vs. Index Scan – Diffefence and Usage – A Simple Note oracle表访问方式 Index Seek和Index Scan的区别以及适用情况 1.oracle中的表访问方式 在oracle中有表访问方式的说法,访问表中的数据主要通过三种方式进行访问: 全表扫描(full table scan),直接访问数据页,查找

sql server中使用链接服务器访问oracle数据库

一.  安装配置oracle客户端 要访问orcale数据,必须在访问的客户端机器上安装oracle客户端. Orcale有两种形式的客户端: l         完整的客户端 包括访问服务器端数据库的基本Oracle 的 Microsoft OLE DB 访问接口需要 Oracle Client Software Support File以及 SQL*Net .还包括用于配置客户端设置的工具.sqlplus.企业管理器等一系列的工具. l         立即客户端(instant clien

(转)SQLServer_十步优化SQL Server中的数据访问 三

原文地址:http://tech.it168.com/a2009/1125/814/000000814758_all.shtml 第六步:应用高级索引 实施计算列并在这些列上创建索引 你可能曾经写过从数据库查询一个结果集的应用程序代码,对结果集中每一行进行计算生成最终显示输出的信息.例如,你可能有一个查询从数据库检索订单信息,在应用程序代码中你可能已经通过对产品和销售量执行算术操作计算出了总的订单价格,但为什么你不在数据库中执行这些操作呢? 请看下面这张图,你可以通过指定一个公式将一个数据库表列

SQL Server中的分页查询 select top

SQL Server中的分页查询 https://blog.csdn.net/tswc_byy/article/details/82053091 零.码仙励志 比我差的人还没放弃,比我好的人仍在努力,我就更没资格说我无能为力 一.建库和建表 create database scort use scort create table emp ( empno int primary key, ename nvarchar(10), sal int, deptno int ) insert into e

[转载]在SQL Server 中,如何实现DBF文件和SQL Server表之间的导入或者导出?

原来使用SQL Server 2000数据库,通过DTS工具很方便地在SQL Server和DBF文件之间进行数据的导入和导出,现在安装了SQL Server2005之后,发现其提供的“SQL Server导入导出向导”中的数据源没有原来的丰富,缺少对DBF文件的支持. 1.右击数据库,选择“任务”>“导入数据”,打开“SQL Server导入和导出向导”对话框.2.在“数据源”中选择Microsoft OLE DB Provider for Visual FoxPro,单击“属性”按钮,打开“