यह लेख Oracle 19c और SQL Server 2019 के बीच लिंक किए गए सर्वर को बनाने और कॉन्फ़िगर करने की चरण-दर-चरण प्रक्रिया की व्याख्या करता है।
लिंक्ड सर्वर बनाने के लिए पूर्वापेक्षाएँ
प्रदर्शन के लिए, मैंने अपने वर्कस्टेशन पर SQL Server 2019 स्थापित किया है। इसके साथ ही, मैंने Oracle 19c स्थापित किया और EMPLOYEE . नाम का एक उदाहरण बनाया . अपने आगे के लेखों में, मैं Oracle 19c की चरण-दर-चरण स्थापना और कॉन्फ़िगरेशन प्रक्रिया के बारे में भी बताऊंगा।
लिंक किए गए सर्वर को कॉन्फ़िगर करने के लिए, हमें पहले Oracle में एक डेटाबेस बनाना होगा और फिर Oracle DB में एक उपयोगकर्ता बनाना होगा। CREATE USER कमांड इसे करेगा। GRANT कीवर्ड कनेक्ट . को सुनिश्चित करता है , संसाधन , और असीमित टेबलस्पेस उपयोगकर्ता के लिए विशेषाधिकार। CREATE USER कीवर्ड के बारे में अधिक जानकारी के लिए आप इस लेख को देख सकते हैं।
SQL प्लस खोलें और इसे निम्न कमांड का उपयोग करके Oracle द्वारा कनेक्ट करें:
SQL*Plus: Release 19.0.0.0.0 - Production on Sun Feb 21 17:40:15 2021
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Enter user-name: sys as sysdba
कमांड पासवर्ड के लिए संकेत देता है। इसे खाली रखें और दर्ज करें hit दबाएं ।
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Enter user-name: sys as sysdba
Enter password:
Connected to:
Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
अब, हम सफलतापूर्वक Oracle उदाहरण से जुड़े हैं। निसर्ग . नाम का उपयोगकर्ता बनाने के लिए निम्न क्वेरी चलाएँ :
SQL> create user nisarg identified by "[email protected]";
User-created.
अगली क्वेरी निसर्ग . को उचित अनुमति देती है उपयोगकर्ता:
SQL> grant connect,resource, unlimited tablespace to nisarg;
Grant succeeded.
कर्मचारी डेटाबेस पर एक तालिका बनाएं
हम तीन टेबल बना रहे हैं:tblemployee , tblDepartment , और tblDesignation . विदेशी कुंजी tblemployee . पर है टेबल। विदेशी कुंजी कॉलम कर्मचारी_dept_id हैं और कर्मचारी_डिजाइनेशन_आईडी . वे tblDepartment . के संदर्भ में हैं और tblDesignation टेबल। टेबल बनाने के लिए स्क्रिप्ट नीचे हैं।
भ्रष्टाचारी बनाता है तालिका:
CREATE TABLE NISARG."tblEmployee" (
ID NUMBER(10, 0) GENERATED ALWAYS AS IDENTITY (
MAXVALUE 1000000000000000000000000000),
"Employee_name" NVARCHAR2(50),
"Employee_dept_id" INTEGER,
"Address" NVARCHAR2(1000),
"ContactNumber" NVARCHAR2(50),
"Employee_designation_id" INTEGER,
CONSTRAINT FK_TBLEMPLOYEE_EMPLOYEE_DEPT_ID FOREIGN KEY ("Employee_dept_id")
REFERENCES NISARG."tblDepartment" ("Dept_ID"),
CONSTRAINT FK_TBLEMPLOYEE_EMPLOYEE_DESIGN FOREIGN KEY ("Employee_designation_id")
REFERENCES NISARG."tblDesignation" ("Designation_ID")
)
TABLESPACE USERS;
tblDepartment बनाएं तालिका:
CREATE TABLE NISARG."tblDepartment" (
"Dept_ID" INTEGER GENERATED ALWAYS AS IDENTITY (
MAXVALUE 1000000000000000000000000000),
"Dept_name" NVARCHAR2(50)
)
TABLESPACE USERS;
tblDesignation बनाएं तालिका:
CREATE TABLE NISARG."tblDesignation" (
"Designation_ID" NUMBER(10, 0) GENERATED ALWAYS AS IDENTITY (
MAXVALUE 1000000000000000000000000000),
"Designation_Name" NVARCHAR2(50)
)
TABLESPACE USERS;
यहां आप ईआर आरेख देख सकते हैं:
अब, हम लिंक्ड सर्वर बनाते हैं।
SSMS का उपयोग करके लिंक्ड सर्वर बनाएं
जब हम Oracle 19c, क्लाइंट या सर्वर, OraOLEDB.Oracle नामक एक प्रदाता स्थापित करते हैं बनाया जाएगा। ये प्रदाता SQL सर्वर और अन्य डेटा स्रोतों या डेटाबेस के बीच संचार सुनिश्चित करते हैं।
Oracle स्थापित करने के बाद, आप देख सकते हैं कि OLEDB प्रदाता प्रदाताओं के अंतर्गत बनाया गया है SQL सर्वर प्रबंधन स्टूडियो का नोड।
नया लिंक किया गया सर्वर बनाने से पहले, हमें A . को सक्षम करना होगा कम प्रक्रिया में है पैरामीटर।
OraOLEDB.Oracle . पर राइट-क्लिक करें और गुणों . पर क्लिक करें :
प्रदाता विकल्प . पर स्क्रीन पर, प्रक्रिया में होने की अनुमति दें . पर क्लिक करें . ठीकक्लिक करें कॉन्फ़िगरेशन सहेजने के लिए:
लिंक्ड सर्वर बनाने के लिए, SSMS खोलें और डेटाबेस इंजन से कनेक्ट करें। विस्तृत करें सर्वर ऑब्जेक्ट> लिंक किए गए सर्वर> नया लिंक किया गया सर्वर :
कॉन्फ़िगरेशन विंडो में, निम्नलिखित विवरण निर्दिष्ट करें:
- लिंक किया गया सर्वर . लिंक किए गए सर्वर का नाम निर्दिष्ट करें। इस नाम में स्थान या अन्य वर्ण नहीं होने चाहिए . हमारे मामले में, लिंक किए गए सर्वर का नाम ORACLESERVER . है ।
- सर्वर प्रकार . आप SQL सर्वर या अन्य डेटा स्रोत चुन सकते हैं। हमारे मामले में, हम Oracle और SQL सर्वर के बीच एक लिंक्ड सर्वर बना रहे हैं। इसलिए, अन्य डेटा चुनें स्रोत ।
- प्रदाता . प्रदाता . से नाम चुनें ड्रॉप डाउन मेनू। हमारे मामले में, यह Oracle OLEDB के लिए प्रदाता . है ।
- डेटा स्रोत . डेटा स्रोत का नाम Oracle उदाहरण का सेवा नाम है . हमारे मामले में, यह कर्मचारी है ।
आप सेवा नामकरण . के अंतर्गत सेवाओं की सूची देख सकते हैं Oracle नेट कॉन्फ़िगरेशन . के प्रबंधक> सेवा नामकरण> सेवा का नाम चुनें।
अब, Oracle डेटाबेस सर्वर से कनेक्ट करने के लिए सुरक्षा सेटिंग्स को कॉन्फ़िगर करें:नए लिंक किए गए सर्वर में विंडो, सुरक्षा . पर जाएं अनुभाग।
हम दूरस्थ लॉगिन . का उपयोग करके कनेक्शन स्थापित करते हैं और पासवर्ड। उसके लिए, इस सुरक्षा संदर्भ का उपयोग करके बनें . चुनें विकल्प और क्रेडेंशियल निर्दिष्ट करें:
दूरस्थ संग्रहीत कार्यविधियों को निष्पादित करने के लिए, हमें लिंक किए गए सर्वर में RPC (दूरस्थ प्रक्रिया कॉल) को सक्षम करना होगा।
सर्वर विकल्प पर जाएं अनुभाग और RPC . सेट करें मान सत्य . के रूप में :
अब, ठीक क्लिक करें एक लिंक्ड सर्वर बनाने के लिए। एक बार यह सफलतापूर्वक हो जाने के बाद, आप इसे लिंक्डइन सर्वर के अंतर्गत देख सकते हैं SSMS में नोड:
T-SQL का उपयोग करके लिंक किया गया सर्वर बनाएं
आप लिंक किए गए सर्वर को बनाने के लिए टी-एसक्यूएल स्क्रिप्ट निष्पादित कर सकते हैं। फिर, लिंक किए गए सर्वर को जोड़ने के लिए, आप sp_addlinkedserver . का उपयोग कर सकते हैं संग्रहीत प्रक्रिया। लिंक किए गए सर्वर के लिए लॉगिन कॉन्फ़िगर करने के लिए, आप sp_addlinkedsrvlogin का उपयोग कर सकते हैं संग्रहीत प्रक्रिया। कॉन्फ़िगरेशन पैरामीटर सेट करने के लिए, आप sp_serveroption . का उपयोग कर सकते हैं संग्रहीत प्रक्रिया।
हमारे मामले में, आपको लिंक किए गए सर्वर को जोड़ने के लिए निम्न कोड निष्पादित करना चाहिए:
USE [master]
GO
EXEC master.dbo.sp_addlinkedserver @server = N'ORACLESERVER',
@srvproduct=N'Oracle', @provider=N'OraOLEDB.Oracle', @datasrc=N'employee'
लिंक किए गए सर्वर सुरक्षा को कॉन्फ़िगर करने के लिए निम्न कोड निष्पादित करें:
USE [master]
GO
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'ORACLESERVER',
@useself=N'False',@locallogin=NULL,@rmtuser=N'nisarg',@rmtpassword='########'
कॉन्फ़िगरेशन पैरामीटर सेट करने के लिए निम्न कोड है:
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'collation compatible', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'data access', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'dist', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'pub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'rpc', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'rpc out', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'sub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'connect timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'collation name', @optvalue=null
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'lazy schema validation', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'query timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'use remote collation', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLESERVER', @optname=N'remote proc transaction promotion', @optvalue=N'true'
GO
अब, डेटा को क्वेरी करके कॉन्फ़िगरेशन का परीक्षण करें।
डेटा को क्वेरी करके कनेक्टिविटी का परीक्षण करें
कनेक्टिविटी का परीक्षण करने के लिए, SQL सर्वर प्रबंधन स्टूडियो लॉन्च करें और निम्न क्वेरी निष्पादित करें:
select * from [oracleserver]..NISARG.tblEmployee
क्वेरी आउटपुट:
जैसा कि आप देख सकते हैं, क्वेरी सफलतापूर्वक निष्पादित की गई है। यह लिंक किए गए सर्वर के सफल कॉन्फ़िगरेशन को इंगित करता है।
अब, Oracle डेटाबेस से डेटा तक पहुँचने और Oracle SQL क्वेरीज़ चलाने के लिए SQL सर्वर में एक संग्रहीत कार्यविधि बनाएँ:
create procedure sp_view_employee
as
begin
select * from [oracleserver]..NISARG.tblEmployee
end
संग्रहीत कार्यविधि को निष्पादित करने के लिए निम्न आदेश चलाएँ:
Exec sp_view_employee
क्वेरी आउटपुट:
आइए हम पैरामीटरयुक्त संग्रहीत कार्यविधि को निष्पादित करें। कोड निम्नलिखित है:
create procedure sp_view_employee_name
@employeeName varchar(50)
as
begin
select * from [oracleserver]..NISARG.tblEmployee where [email protected]
end
प्रक्रिया चलाएँ:
exec sp_view_employee 'Nisarg Upadhyay'
क्वेरी आउटपुट:
सारांश
इस तरह, आप Oracle बनाम SQL Server 2019 में लिंक्ड सर्वर को कॉन्फ़िगर कर सकते हैं। हमने प्रक्रिया का चरण-दर-चरण वर्णन किया है, और हमें उम्मीद है कि यह लेख आपके काम में आपकी मदद करेगा।
यह भी पढ़ें
लिंक्ड सर्वर उपयोग के नुकसान