山 中 人

三十辐共一毂,当其无,有车之用。埏埴以为器,当其无,有器之用。凿户牖以为室,当其无,有室之用。故有之以为利,无之以为用。...

在OLE DB 或 ODBC 之類數據訪問組件中用OPENROWSET 打開遠端數據集的方法

在 SQL Server 的在線幫助手冊中有這麼一段示例:
A. Use OPENROWSET with a SELECT and the Microsoft OLE DB Provider for SQL Server

This example uses the Microsoft OLE DB Provider for SQL Server to access the authors table in the pubs database on a remote server named seattle1. The provider is initialized from the datasource, user_id, and password, and a SELECT is used to define the row set returned.

USE pubs
GO
SELECT a.*
FROM OPENROWSET('SQLOLEDB','seattle1';'sa';'MyPass',
   'SELECT * FROM pubs.dbo.authors ORDER BY au_lname, au_fname') AS a
GO

這個示例如果直接修改後放在 SQL Server 的 Enterprise Manager 中運行的話不會出錯,
但是如果把這段代碼的訪問數據方式用在 Query Analyzer 或者 使用Ole DB/ODBC 之類的組件執行的話,
會出現"Ad hoc access to OLE DB provider 'Microsoft.Jet.OLEDB.4.0' has been denied.
You must access this provider through a linked server" 的錯誤提示,
也就是說,系統沒有打開OPENROWSET遠程訪問的許可,需要在目前 SQL Server 上建一個 "已連接Server",

添加的方法比較簡單,我的 SQL Server 是英文版,可以在 Enterprise Manager 中點開目前 SQL Server,
然對 Security -> Linked Servers 點右鍵,選 "新建...",參數可自行設定。

當然,這個方法隻能打開一個遠程數據服務連接,並且一直保持,如果要隨時可以打開任意遠程數據,
可以用更改 OLE DB 和 MSDASQL 的遠程Ad hoc訪問開關設定值的方式更改,也就是更改注冊表,注冊表文件如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/Providers/SQLOLEDB]
"DisallowAdhocAccess"=dword:00000000

[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/Providers/MSDASQL]
"DisallowAdHocAccess"=dword:00000000


但是需要注意的是,這樣就是變相地打開 SQL Server 的對外訪問安全控制。

參考 URL:
http://www.microsoft.com/downloads/details.aspx?familyid=8f0a8df6-4a21-4b43
http://support.microsoft.com/default.aspx?scid=kb;en-us;327489
OPENROWSET  "Ad hoc access to OLE DB provider 'Microsoft.Jet.OLEDB.4.0' has been denied.
You must access this provider through a linked server"

關鍵字:



 
阅读更多
个人分类: 0 1 人生
想对作者说点什么? 我来说一句

datawarehouse數據倉庫實例

2011年07月15日 1.98MB 下载

JAVA XML 數據.doc

2008年09月25日 64KB 下载

unidaC 2.7.09 控件

2009年09月18日 3.16MB 下载

数据库表转换成实体类

2013年08月20日 1.83MB 下载

數據倉庫的幾個PPT

2009年10月16日 8.11MB 下载

綠色數據恢復軟件FinalData

2008年10月24日 1.42MB 下载

没有更多推荐了,返回首页

不良信息举报

在OLE DB 或 ODBC 之類數據訪問組件中用OPENROWSET 打開遠端數據集的方法

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭