openrowset用法
时间: 2023-12-01 07:04:04 浏览: 183
Openrowset 是 SQL Server 中的一个用于访问外部数据源的方法,它可以在 SQL Server 中读取和导入其他数据源中的表格数据。Openrowset 的用法如下:
1. 查询远程服务器的数据
```
SELECT * FROM OPENROWSET('SQLNCLI','Server=RemoteServer;Trusted_Connection=yes;',
'SELECT * FROM DatabaseName.SchemaName.TableName')
```
2. 从 Excel 文件中读取数据
```
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\Data\ExcelData.xls;HDR=YES',
'SELECT * FROM [Sheet1$]')
```
3. 从文本文件中读取数据
```
SELECT * FROM OPENROWSET('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=C:\Data\;Extensions=csv;','SELECT * FROM Data.csv')
```
需要注意的是,使用 Openrowset 访问其他数据源需要先启用 Ad Hoc Distributed Queries 选项,否则会出现以下错误:
```
Msg 15281, Level 16, State 1, Line 1
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.
```
可以通过以下 T-SQL 语句启用 Ad Hoc Distributed Queries:
```
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO
```
启用之后,为了保证安全性,可以在使用完毕后将 Ad Hoc Distributed Queries 选项关闭。
阅读全文
相关推荐


















