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

来源:互联网 发布:zynq linux uboot 编辑:程序博客网 时间:2024/05/01 12:50

在 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 pubsGOSELECT a.*FROM OPENROWSET('SQLOLEDB','seattle1';'sa';'MyPass',   'SELECT * FROM pubs.dbo.authors ORDER BY au_lname, au_fname') AS aGO

這個示例如果直接修改後放在 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"

關鍵字:



 
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 网课没有刷完怎么办 形势与政策挂了怎么办 苹果录屏声音小怎么办 老师跟学生家长吵起来了怎么办 蓝幕拍摄抠像有蓝色怎么办 学东西悟性不高怎么办 微商不会写笔记怎么办 布鞋买大了一码怎么办 凉鞋买大了一码怎么办 皮鞋小了一码怎么办妙招 图书馆借的书本损坏了怎么办 把人打伤没钱赔怎么办 小孩不小心打伤了老师怎么办 高考进了三段怎么办 工作中和领导产生冲突怎么办 酒店不给员工发工资怎么办 裙子没有解开超市的锁怎么办 接待老外听不懂他说的怎么办 脚脱皮又痒又臭怎么办 成都应聘平面模特被骗了怎么办 文明6开场一堆蛮族怎么办 幼儿园里出了水痘怎么办 穿高跟鞋脚容易出汗怎么办 粗跟鞋走路太响怎么办 粗跟鞋鞋跟很响怎么办 皮鞋跟走路太响怎么办 穿高跟鞋脚崴了怎么办 高跟鞋小了一码怎么办 高跟皮鞋磨脚怎么办 大同同煤集团三供一业人员怎么办 小孩被猫咪抓了怎么办 长得特别丑的人怎么办 锅巴放的不脆了怎么办 淘宝买到假货了怎么办 单位不给解约函怎么办 安卓个人热点打不开怎么办 密码忘记无法进入主机怎么办 流放之路w10闪退怎么办 电脑网站被劫持了怎么办 苹果手机浏览器被劫持怎么办 苹果手机网站被劫持怎么办