SQL读取EXCEL
直接在SQL查询分析器中读取EXCEL文件需要使用到OPENDATASOURCE。
但是使用它之前需要进行配置一下。记得如下配置是必须的:
1、执行这两个存储过程:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
它的作用:
第一个是:是否支持高级选项的,1为支持0为不支持。
第二个是:是否支持分布式查询,
1为支持0为不支持。
而且一定是先支持高级选项,再可以设置分布式查询,因为分布式查询本身就是
一个高级选项来的。
2、使用OPENDATASOURCE,它有两种语法
(1)SELECT * from OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=D:\TempExcelData\Exl_Test_01.xls;Extended Properties=EXCEL 5.0')...[Student$]
(2)select *
from Openrowset('Microsoft.Jet.OLEDB.4.0','EXCEL 8.0;HDR=YES;User id=admin;Password=;IMEX=1;
DATABASE=D:\TempExcelData\Exl_Test_01.xls', Student$)
3、用完后要关闭第一步打开的东西
exec sp_configure 'show advanced options',0
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
按照此步不一定可以查询到你EXCEL的数据,可能还会有其它的错误,比如说权限
不足够引发其它的问题啊,要在网上找多一下,就如我配置的时候,用的是SA进去的,
但是SA不是SYSADMINISTRATOR这一组,要加进去后才有权限,才能顺利查到数据
相关文档:
SQL语句优化技术分析
操作符优化
IN 操作符
用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。
但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:
ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询, ......
Transact SQL 语 句 功 能
========================================================================
--数据操作
SELECT --从数据库表中检索数据行和列
INSERT --向数据库表添加新数据行
DELETE --从数据库表中删除数据行
UPDATE --更新数据库表中的数据 ......
一、使用证书实现主备SQL Server实例的互通
1.在主机和备机上分别创建证书
在主机上执行如下语句:
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'abcdefg';
CREATE CERTIFICATE CERT_HOST_A WITH SUBJECT = 'HOST_A certificate' ,
START_DATE = '01/01/2010';
GO
在备机上执行如下语句:
USE master; ......
use master
go
if exists(select * from dbo.sysobjects where id = object_id(N'[dbo].[P_KillConnections]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[P_KillConnections]
GO
create proc P_KillConnections
@dbname varchar(200)
as
declare @sql nvarchar(500)
declare @spid nvar ......
自从SQL Server 2005推出后,因为有了更好的性能,所以有很多与SQL Server 2000相关的应用程序需要升级到这个版本。但如何才能以最快最方便的方式把其中的表结构及对应的数据和数据的其它的格式导入到SQL Server 2005呢?SQL Server 2005的数据又如何导入到SQL Server 2000上?我们分别来看下面实现的方式:
1) SQL ......