Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle 21c को SQL सर्वर से कनेक्ट करना

Oracle 21c को SQL सर्वर से जोड़ने के लिए Oracle के विषम सेवा ODBC एजेंट, DG4ODBC के साथ SQL सर्वर ODBC ड्राइवर का उपयोग करें।

  1. जांचें कि DG4ODBC का आपका संस्करण 32-बिट है या 64-बिट:
    file dg4odbc

    अगर file कमांड के आउटपुट में "ELF 64-बिट LSB एक्ज़ीक्यूटेबल" या कुछ इसी तरह का है, DG4ODBC 64-बिट है, और आपको SQL सर्वर ODBC ड्राइवर के 64-बिट संस्करण का उपयोग करने की आवश्यकता है।

    अन्यथा, अपने प्लेटफॉर्म के लिए 32-बिट SQL सर्वर ODBC ड्राइवर डाउनलोड करें।

  2. जिस मशीन पर DG4ODBC स्थापित है, उस मशीन पर SQL सर्वर ODBC ड्राइवर को स्थापित, लाइसेंस और परीक्षण करें।

    स्थापना निर्देशों के लिए, SQL सर्वर ODBC ड्राइवर दस्तावेज़ देखें। यह देखने के लिए दस्तावेज़ देखें कि आपको कौन से पर्यावरण चर सेट करने की आवश्यकता है (LD_LIBRARY_PATH , LIBPATH , LD_RUN_PATH या SHLIB_PATH प्लेटफॉर्म और लिंकर के आधार पर)।

  3. एक DG4ODBC init फ़ाइल बनाएँ। उदाहरण के लिए:
    cd $ORACLE_HOME/hs/admin
    cp initdg4odbc.ora initmssql.ora
  4. सुनिश्चित करें कि ये पैरामीटर और मान आपकी 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 सर्वर डेटाबेस से जुड़ता है।

  5. $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 . के मान के साथ ।

  6. $ORACLE_HOME/network/admin/tnsnames.ora में DG4ODBC प्रविष्टि जोड़ें जो पिछले चरण में बनाए गए SID_NAME को निर्दिष्ट करता है। उदाहरण के लिए:
    MSSQL=
     (DESCRIPTION=
       (ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))
       (CONNECT_DATA= (SID=mssql))
       (HS=OK)
     )
  7. ओरेकल श्रोता को प्रारंभ करें (या पुनः प्रारंभ करें):
    cd $ORACLE_HOME/bin
    ./lsnrctl stop
    ./lsnrctl start
  8. SQL*Plus में अपने Oracle डेटाबेस से कनेक्ट करें।
  9. एसक्यूएल*प्लस में, लक्ष्य 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 में बदलें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle इंस्टेंट क्लाइंट स्थापित करना

  2. Oracle SQL में दिनांक के अनुसार शीर्ष 1 का चयन और आदेश कैसे करें?

  3. Oracle VM Virtual Box के साथ एक वर्चुअल मशीन बनाना

  4. ORA-01264:लॉगफ़ाइल फ़ाइल नाम बनाने में असमर्थ

  5. Oracle स्ट्रिंग फ़ंक्शंस (पूरी सूची)