狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

SQL Server跨服務(wù)器操作數(shù)據(jù)庫,通過鏈接服務(wù)器(LinkedServer)實(shí)現(xiàn)SQL Server遠(yuǎn)程鏈接MySql等數(shù)據(jù)庫

freeflydom
2024年11月8日 9:19 本文熱度 793

什么是跨服務(wù)器操作?

跨服務(wù)器操作就是可以在本地連接到遠(yuǎn)程服務(wù)器上的數(shù)據(jù)庫,可以在對方的數(shù)據(jù)庫上進(jìn)行相關(guān)的數(shù)據(jù)庫操作,比如增刪改查。

為什么要進(jìn)行跨服務(wù)器操作

隨著數(shù)據(jù)量的增多,業(yè)務(wù)量的擴(kuò)張,需要在不同的服務(wù)器安裝不同的數(shù)據(jù)庫,有時(shí)候因?yàn)闃I(yè)務(wù)需要,將不同的服務(wù)器中的數(shù)據(jù)進(jìn)行整合,這時(shí)候就需要進(jìn)行跨服務(wù)器操作了。

跨服務(wù)器操作的工具是什么?

DBLINK(數(shù)據(jù)庫鏈接),顧名思義就是數(shù)據(jù)庫的鏈接,就像電話線一樣,是一個(gè)通道,當(dāng)我們要跨本地?cái)?shù)據(jù)庫,訪問另外一個(gè)數(shù)據(jù)庫表中的數(shù)據(jù)時(shí),本地?cái)?shù)據(jù)庫中就必須要?jiǎng)?chuàng)建遠(yuǎn)程數(shù)據(jù)庫的dblink,通過dblink本地?cái)?shù)據(jù)庫可以像訪問本地?cái)?shù)據(jù)庫一樣訪問遠(yuǎn)程數(shù)據(jù)庫表中的數(shù)據(jù)。

用SSMS創(chuàng)建SQL Server遠(yuǎn)程鏈接服務(wù)器(LinkedServer)--簡單鏈接到遠(yuǎn)程SqlServer

1. 打開SSMS -->登錄到本地?cái)?shù)據(jù)庫 --> 服務(wù)器對象 --> 鏈接服務(wù)器(右鍵) --> 新建鏈接服務(wù)器,如下圖:

  

2. 在彈出的對話框中輸入相關(guān)信息

  ● 在【鏈接服務(wù)器】輸入對方服務(wù)器的IP地址;

  ● 在【服務(wù)器類型】中選擇【SQL Server】;

  

3. 點(diǎn)擊左側(cè)的【安全性】,出現(xiàn)如下頁面,在第3步中輸入對方數(shù)據(jù)庫的賬號密碼即可。

  

    點(diǎn)擊確定按鈕后,鏈接服務(wù)器(LinkedServer)就創(chuàng)建成功了。這時(shí)可以看到創(chuàng)建好的鏈接服務(wù)器:

        

 

 查看鏈接服務(wù)器的代碼: 在創(chuàng)建好的鏈接服務(wù)器上點(diǎn)右鍵,編寫鏈接服務(wù)器腳本為 --> Create到 -->新查詢編輯器窗口,即可打開剛剛創(chuàng)建的鏈接服務(wù)器的腳本。

 

 

--鏈接服務(wù)器(LinkedServer)創(chuàng)建完成后會自動(dòng)生成相關(guān)代碼 —— 鏈接到遠(yuǎn)程SQLServer數(shù)據(jù)庫:
EXEC master.dbo.sp_addlinkedserver @server = N'192.168.110.189,1433',@srvproduct=N'SQL Server';
    -- @rmtsrvname
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'192.168.110.189',@useself=N'False',@locallogin=NULL,@rmtuser=N'sa',@rmtpassword='########';

  注意: 這里有一個(gè)弊端,那就是鏈接的是整個(gè)遠(yuǎn)程SqlServer中的所有數(shù)據(jù)庫(一般只需要一個(gè)特定的數(shù)據(jù)庫),而且鏈接服務(wù)器的名稱是個(gè)IP且無法自定義! 所以,最好的方式還是通過代碼直接創(chuàng)建鏈接數(shù)據(jù)庫。

 

鏈接服務(wù)器(LinkedServer)就創(chuàng)建成功后,我們就可以用創(chuàng)建好的DBLINK鏈接到遠(yuǎn)程的Linked服務(wù)器了。
下面我們用創(chuàng)建好的試著查詢對方服務(wù)器上的表來驗(yàn)證一下。

-- 查詢鏈接服務(wù)器(LinkedServer)中數(shù)據(jù)的方法: [DBLINK名].[對方數(shù)據(jù)庫名].[對方數(shù)據(jù)庫下模式名].[對方數(shù)據(jù)庫表名]

SELECT * FROM [192.168.110.189].[erp25new].[dbo].[fee_data]


  上面FROM字段后面依此是[DBLINK名].[對方數(shù)據(jù)庫名].[對方數(shù)據(jù)庫下模式名].[對方數(shù)據(jù)庫表名],表名前面的這些內(nèi)容一個(gè)都不能少。

        查詢結(jié)果如下圖:
        

使用sql腳本來創(chuàng)建鏈接服務(wù)器(LinkedServer)

A.  SSMS鏈接到遠(yuǎn)程SQLServer數(shù)據(jù)庫

(本地SQLServer數(shù)據(jù)庫鏈接服務(wù)器(LinkedServer)到遠(yuǎn)程SQLServer數(shù)據(jù)庫。)

-- LinkedServer鏈接到遠(yuǎn)程SQLServer數(shù)據(jù)庫: 

-- 1. 聲明將要鏈接的‘鏈接名稱(自定義)’,遠(yuǎn)程數(shù)據(jù)庫產(chǎn)品名(或別名),(提供商,數(shù)據(jù)庫服務(wù)器地址及實(shí)例名)

EXEC master.dbo.sp_addlinkedserver @server = N'DBLINK_TO_TESTDB',@srvproduct=N'SQL Server';

-- 2. 聲明‘鏈接名稱(自定義)’,@useself=N'False',@locallogin=NULL,將要鏈接的數(shù)據(jù)庫服務(wù)器的賬號和密碼

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'192.168.110.189',@useself=N'False',@locallogin=NULL,@rmtuser=N'sa',@rmtpassword='########';

B.  SSMS鏈接到遠(yuǎn)程非SQLServer數(shù)據(jù)庫

(本地SQLServer數(shù)據(jù)庫鏈接服務(wù)器(LinkedServer)到遠(yuǎn)程非SQLServer的數(shù)據(jù)庫。如遠(yuǎn)程的MySQL、Oracle等數(shù)據(jù)庫。)

-- 鏈接到遠(yuǎn)程的非SQLServerd數(shù)據(jù)庫(如鏈接到遠(yuǎn)程MySQL、Oracle等數(shù)據(jù)庫): 

-- 1. 聲明‘自定義的鏈接名稱’,遠(yuǎn)程數(shù)據(jù)庫產(chǎn)品名(或別名),提供商,數(shù)據(jù)庫服務(wù)器地址及實(shí)例名

EXEC master.dbo.sp_addlinkedserver @server = N'TEST_SQL_SERVER',@srvproduct=N'TEST',@provider=N'SQLNCLI11', @datasrc=N'192.168.110.189'; 

-- 2. 聲明登錄信息 ‘自定義的鏈接名稱’,@useself=N'False',@locallogin=NULL,遠(yuǎn)程數(shù)據(jù)庫的賬號和密碼

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'TEST_SQL_SERVER',@useself=N'False',@locallogin=NULL,@rmtuser=N'sa',@rmtpassword='########';

實(shí)際例子-SQL Server通過Linkserver連接MySql

-- 通過SSMS鏈接到遠(yuǎn)程MySql數(shù)據(jù)庫(SQL Server連接MySql)

-- 使用的訪問接口為:MySql Provider for OLE DB

EXEC master.dbo.sp_addlinkedserver @server = N'DBLINK_TO_MysqlTESTDB', @srvproduct = N'MySql', @provider = N'MSDASQL', @provstr = N'Driver={MySQL ODBC 5.1 Driver};Server=10.167.69.6,3306/sytv;Database=TESTDB;User=root;Password=root;Option=3' ;


EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'DBLINK_TO_MysqlTESTDB', @useself = N'False', @locallogin = N'10.167.69.6,3306/sytv', @rmtuser = N'root', @rmtpassword = N'root';

實(shí)際例子-SQL Server通過Linkserver連接Oracle  

-- 通過SSMS鏈接到遠(yuǎn)程Oracle數(shù)據(jù)庫(SQL Server連接Oracle)


-- 使用的訪問接口為:Oracle Provider for OLE DB

USE [master]

GO


--Declare Oracle OLEDB  'OraOLEDB.Oracle':

EXEC master.dbo.sp_MSset_oledb_prop N'OraOLEDB.Oracle', N'AllowInProcess', 1;


--Create the Linked Server to the ECT database in Oracle:  

EXEC sp_addlinkedserver 'DBLINK_TO_OraTESTDB', 'Oracle', 'OraOLEDB.Oracle', '10.167.69.6/prt';

--EXEC master.dbo.sp_addlinkedserver @server = N'DBLINK_TO_OraTESTDB', @srvproduct=N'oracle', @provider=N'OraOLEDB.Oracle', @datasrc=N'10.167.69.6/orcl'


--Create the Remote Login for the Oracle Linked Server: 

EXEC sp_addlinkedsrvlogin @rmtsrvname=N'DBLINK_TO_OraTESTDB',@useself=N'False',@locallogin=N'apps',@rmtuser=N'SYSTEM',@rmtpassword='######'; --最后可以測試一下是否連接成功 --select * from openquery(DBLINK_TO_OraTESTDB,'select * from SYSTEM.HELP');



該文章在 2024/11/8 10:41:23 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved