OPENROWSET read excel

由于64位系统已经不支持 oledb 4.0访问 xls

1. 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序

http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe下载。

2.SQL Server blocked access to STATEMENT ‘OpenRowset/OpenDatasource‘ of component ‘Ad Hoc Distributed Queries‘ because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of ‘Ad Hoc Distributed Queries‘ by using sp_configure. For more information about enabling ‘Ad Hoc Distributed Queries‘, see "Surface Area Configuration" in SQL Server Books Online.

--打开 hoc distributed

exec sp_configure ‘show advanced options‘,1 
reconfigure 
exec sp_configure ‘Ad Hoc Distributed Queries‘,1 
reconfigure

--关闭 ad hc distributed

exec sp_configure ‘Ad Hoc Distributed Queries‘,0 
reconfigure 
exec sp_configure ‘show advanced options‘,0 
reconfigure

时间: 2024-11-03 01:38:47

OPENROWSET read excel的相关文章

[MSSQL] 透过OPENROWSET读取EXCEL

... STP1. 开启Server>Facets>SurfaceAreaConfiguration>AdHocRemoteQueriesEnabled, 若未开启错误消息如下, Msg 15281, Level 16, State 1, Line 1 SQL Server blocked access to STATEMENT 'OpenRowset/OpenDatasource' of component 'Ad Hoc Distributed Queries' because th

行集函数:OpenRowSet 和 OpenQuery

在SQL Server中,行集函数是不确定性的,这意味着,每次调用,返回值不总是相同的.返回值是不确定的,这意味着,对于相同的输入值,不保证每次返回的值都是相同的.对行集函数的每次调用,行集函数都是单独计算.行集函数:OpenRowSet 和 OpenQuery 的行为和Base Table相似: 能够用于From子句,就像行集函数是一个Base Table,从行集函数中获取数据: 能够用于修改数据,修改命令(INSERT, UPDATE, or DELETE)直接作用于行集函数,对Base T

将csv和txt 数据导入到数据库中

将文本数据导入到数据库中,最简单的选择是:Excel使用OpenSet,csv和txt 使用bulk insert来实现 1,使用OpenRowSet将Excel导入到数据库中 参考<OpenRowSet 用法> 2,使用bulk insert 将txt数据导入到数据库中,文本数据使用Tab分割Column,使用换行符分割row. --create staging table create table dbo.txt_staging ( col1 nvarchar(255), col2 nva

初次用SqlServer查看本地的Excel文件时需要注意的地方

日常用到通过SqlServer 读取Excel文件的案例 ,记录下来 文件路径 :C:\Users\Administrator\Desktop\icd10.xls 1.查询语句: SELECT  *FROM    OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',                       'Data Source="C:\Users\Administrator\Desktop\icd10.xls";User ID=Admin;Pass

在 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

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$ --其中...和

用代码将Excel数据导入Sql Server

这里直接用小例子说明. 1.打开VS2010—>文件—>新建—>网站,选择ASP.NET空网站并设置存放路径以创建空网站.(我这里路径设置为D:\excelEduceToSql) 2.创建数据库test并在test数据库中创建my_test表(我这里在excelEduceToSql文件夹中创建SQL文件夹并将数据库保存在里面). (表的字段如下:)  tid(int)  tname(nvarchar(50))  tt(nvarchar(50)) 3.创建Excel表(我这里的Excel表

SQL中读取Excel 以及 bpc语言

1 --开启导入功能 2 exec sp_configure 'show advanced options',1 3 reconfigure 4 exec sp_configure 'Ad Hoc Distributed Queries',1 5 reconfigure 6 --允许在进程中使用ACE.OLEDB.12 7 EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1 8

Excel导入数据库脚本

--数据库中不存在需要导入的表 SELECT * INTO tab_PurchasePriceTemp FROM OPENROWSET( 'Microsoft.Jet.OLEDB.4.0', 'EXCEL 5.0;HDR=YES;IMEX=1; DATABASE=D:\A.xls',Sheet2$) --出现  SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset错误   解决方案 --启用Ad Hoc Dis