真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Linux系統(tǒng)下的SQLServer不支持其他類型數(shù)據(jù)源的鏈接服務(wù)器

客戶需求:一臺(tái)Ubuntu服務(wù)器,安裝SQL Server 2017數(shù)據(jù)庫(kù),作為中間服務(wù)器,通過(guò)SQL Server的鏈接服務(wù)器方式,連接各業(yè)務(wù)系統(tǒng)的相關(guān)數(shù)據(jù)庫(kù)。

10年積累的網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有個(gè)舊免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

問(wèn)題:有一個(gè)系統(tǒng)的數(shù)據(jù)庫(kù)采用的是Oracle數(shù)據(jù)庫(kù),創(chuàng)建了鏈接服務(wù)器后,在引用時(shí)報(bào)“ 尚未注冊(cè)O(shè)LD DB訪問(wèn)接口 OraOLEDB.Oracle ”錯(cuò)誤。

親自測(cè)試,首先通過(guò)GUI方式創(chuàng)建鏈接服務(wù)器,目標(biāo)服務(wù)器類型只能選擇“SQL Server”,“其他數(shù)據(jù)源”選項(xiàng)是灰色不可選狀態(tài)。

詢問(wèn)客戶系統(tǒng)中的鏈接服務(wù)器創(chuàng)建方式,告知是通過(guò)SQL命令創(chuàng)建的。

USE [master]

GO

EXEC master.dbo.sp_addlinkedserver

     @server = N'OracleData'

   , @srvproduct=N'ORACLE'

   , @provider=N'OraOLEDB.Oracle'

   , @datasrc=N'TNS_NAME'

EXEC master.dbo.sp_addlinkedsrvlogin

     @rmtsrvname= N'OracleData', @useself=N'False', @locallogin=NULL

   , @rmtuser=N'OraUser', @rmtpassword='OraPassword'

GO

select * from OracleData..OraUser.UserTable

go

消息 7403,級(jí)別 16,狀態(tài) 1,第 1 行

尚未注冊(cè) OLE DB 訪問(wèn)接口 "OraOLEDB.Oracle"。

按照Windows系統(tǒng)下的習(xí)慣思路,只要安裝Oracle數(shù)據(jù)庫(kù)的相應(yīng)驅(qū)動(dòng)就能解決問(wèn)題。

首先安裝Oracle客戶端程序和工具,具體操作見(jiàn)前文:

http://blog.itpub.net/81227/viewspace-2668066/

通過(guò)sqlplus工具測(cè)試,可以連接上Oracle數(shù)據(jù)庫(kù)。

測(cè)試鏈接服務(wù)器,還是報(bào)原來(lái)的錯(cuò)誤。

通過(guò)直接方式不能解決問(wèn)題,那是否能通過(guò)ODBC方式解決問(wèn)題呢?雖然ODBC要比直接方式效率要低,性能要差,但能解決問(wèn)題總歸是好的。

安裝unixODBC方法,參見(jiàn):

http://blog.itpub.net/81227/viewspace-2668511/

通過(guò)isql工具測(cè)試,同樣連接上了Oracle數(shù)據(jù)庫(kù)。

再次測(cè)試鏈接服務(wù)器,問(wèn)題依舊。

不能解決問(wèn)題,總要給客戶一個(gè)交待的,不然就顯得自己太不專業(yè)了。

只能從MicroSoft的官方文檔中找答案。

終于,在MicroSoft的一篇名為“Editions and supported features of SQL Server 2017 on Linux”的文檔( https://docs.microsoft.com/en-us/sql/linux/sql-server-linux -editions-and-components-2017?view=sql-server-ver15 ) 中找到了答案, Linked Servers to data sources other than SQL Server (Linux 版本的SQL Server 2017不支持除SQL Server外的其他數(shù)據(jù)源的鏈接服務(wù)器)。

總算能給客戶一個(gè)交待了。

其實(shí),到目前為止,Linux版本的SQL Server 2019也同樣不支持。不過(guò),在SQL Server 2019中,提供了另一種稱為PolyBase的技術(shù)解決了在SQL Server中訪問(wèn)其他類型數(shù)據(jù)源的問(wèn)題。

坑1:通過(guò)SQL命令方式執(zhí)行創(chuàng)建鏈接服務(wù)器時(shí),不檢查數(shù)據(jù)源類型的合法性;

USE [master]

GO

EXEC master.dbo.sp_addlinkedserver

     @server = N'OracleData1'

   , @srvproduct=N'ORACLE'

   , @provider=N'unixODBC'

   , @datasrc=N'DSN_NAME'

EXEC master.dbo.sp_addlinkedsrvlogin

     @rmtsrvname= N'OracleData', @useself=N'False', @locallogin=NULL

   , @rmtuser=N'OraUser', @rmtpassword='OraPassword'

GO

USE [master]

GO

EXEC master.dbo.sp_addlinkedserver

     @server = N'OracleData2'

   , @srvproduct=N'ORACLE'

   , @provider=N'MSDASQL'

   , @datasrc=N'TNS_NAME'

EXEC master.dbo.sp_addlinkedsrvlogin

     @rmtsrvname= N'OracleData', @useself=N'False', @locallogin=NULL

   , @rmtuser=N'OraUser', @rmtpassword='OraPassword'

GO

數(shù)據(jù)源類型無(wú)論改成何種類型,創(chuàng)建時(shí)均不報(bào)錯(cuò),鏈接服務(wù)器創(chuàng)建成功。

坑2:系統(tǒng)不支持其他類型的數(shù)據(jù)源,但錯(cuò)誤提示卻是“訪問(wèn)接口未注冊(cè)”,而不是明確提示系統(tǒng)不支持此類型數(shù)據(jù)源;

select * from OracleData1..OraUser.UserTable

go

消息 7403,級(jí)別 16,狀態(tài) 1,第 1 行

尚未注冊(cè) OLE DB 訪問(wèn)接口 "unixODBC"。

select * from OracleData2..OraUser.UserTable

go

消息 7403,級(jí)別 16,狀態(tài) 1,第 1 行

尚未注冊(cè) OLE DB 訪問(wèn)接口 "MSDASQL"。


網(wǎng)站欄目:Linux系統(tǒng)下的SQLServer不支持其他類型數(shù)據(jù)源的鏈接服務(wù)器
網(wǎng)站網(wǎng)址:http://weahome.cn/article/gcihcp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部