Oracle 21c को SQL सर्वर से जोड़ने के लिए Oracle के विषम सेवा ODBC एजेंट, DG4ODBC के साथ SQL सर्वर ODBC ड्राइवर का उपयोग करें।
- जांचें कि DG4ODBC का आपका संस्करण 32-बिट है या 64-बिट:
file dg4odbc
अगर
file
कमांड के आउटपुट में "ELF 64-बिट LSB एक्ज़ीक्यूटेबल" या कुछ इसी तरह का है, DG4ODBC 64-बिट है, और आपको SQL सर्वर ODBC ड्राइवर के 64-बिट संस्करण का उपयोग करने की आवश्यकता है।अन्यथा, अपने प्लेटफॉर्म के लिए 32-बिट SQL सर्वर ODBC ड्राइवर डाउनलोड करें।
- जिस मशीन पर DG4ODBC स्थापित है, उस मशीन पर SQL सर्वर ODBC ड्राइवर को स्थापित, लाइसेंस और परीक्षण करें।
स्थापना निर्देशों के लिए, SQL सर्वर ODBC ड्राइवर दस्तावेज़ देखें। यह देखने के लिए दस्तावेज़ देखें कि आपको कौन से पर्यावरण चर सेट करने की आवश्यकता है (
LD_LIBRARY_PATH
,LIBPATH
,LD_RUN_PATH
याSHLIB_PATH
प्लेटफॉर्म और लिंकर के आधार पर)। - एक DG4ODBC init फ़ाइल बनाएँ। उदाहरण के लिए:
cd $ORACLE_HOME/hs/admin cp initdg4odbc.ora initmssql.ora
- सुनिश्चित करें कि ये पैरामीटर और मान आपकी init फ़ाइल में मौजूद हैं:
HS_FDS_CONNECT_INFO = my_sql_server_odbc_dsn HS_FDS_SHAREABLE_NAME = /usr/local/easysoft/unixODBC/lib/libodbc.so HS_LANGUAGE = AMERICAN_AMERICA.WE8ISO8859P1
बदलें my_sql_server_odbc_dsn SQL सर्वर ODBC ड्राइवर डेटा स्रोत के नाम के साथ जो लक्ष्य SQL सर्वर डेटाबेस से जुड़ता है।
$ORACLE_HOME/network/admin/listener.ora
में एक प्रविष्टि जोड़ें जो DG4ODBC के लिए एक SID_NAME बनाता है। उदाहरण के लिए:SID_LIST_LISTENER = (SID_LIST = (SID_DESC= (SID_NAME=mssql) (ORACLE_HOME=oracle_home_directory) (PROGRAM=dg4odbc) (ENVS=LD_LIBRARY_PATH = /usr/local/easysoft/unixODBC/lib: /usr/local/easysoft/lib) ) )
oracle_home_directory को बदलें
$ORACLE_HOME
. के मान के साथ ।$ORACLE_HOME/network/admin/tnsnames.ora
में DG4ODBC प्रविष्टि जोड़ें जो पिछले चरण में बनाए गए SID_NAME को निर्दिष्ट करता है। उदाहरण के लिए:MSSQL= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)) (CONNECT_DATA= (SID=mssql)) (HS=OK) )
- ओरेकल श्रोता को प्रारंभ करें (या पुनः प्रारंभ करें):
cd $ORACLE_HOME/bin ./lsnrctl stop ./lsnrctl start
- SQL*Plus में अपने Oracle डेटाबेस से कनेक्ट करें।
- एसक्यूएल*प्लस में, लक्ष्य SQL सर्वर डेटाबेस के लिए एक डेटाबेस लिंक बनाएँ। उदाहरण के लिए:
CREATE PUBLIC DATABASE LINK mssqllink CONNECT TO "dbuser" IDENTIFIED BY "dbpassword" using 'MSSQL';
बदलें dbuser और dbpassword लक्ष्य SQL सर्वर डेटाबेस के लिए एक मान्य उपयोगकर्ता नाम और पासवर्ड के साथ।
नोट
- DG4ODBC का Oracle 21c संस्करण अब
SQLDriverConnect
का उपयोग नहीं करता है ODBC डेटा स्रोत से कनेक्ट करने के लिए। यहSQLConnect
. का उपयोग करता है इसके बजाय, जोHS_NLS_NCHAR = UCS2
. का समर्थन नहीं करता है . इसी तरह, DSN-रहित कनेक्शनSQLConnect
के साथ काम नहीं करते हैं । - यदि आपकी लिंक की गई तालिका में ROWID नाम का एक कॉलम है, तो आपकी क्वेरी त्रुटि के साथ विफल हो जाएगी:
ORA-02070: database SQLSRV2019 does not support ROWIDs in this context
इसे हल करने के लिए, कॉलम का नाम ROWID से ROWNUM में बदलें।