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

Oracle को PostgreSQL से कनेक्ट करना

निम्नलिखित निर्देश आपको लिनक्स पर Oracle को PostgreSQL से कनेक्ट करने का तरीका बताते हैं। DG4ODBC के बारे में अधिक जानकारी के लिए, हमारा DG4ODBC ट्यूटोरियल देखें।

  1. Linux के लिए 64-बिट PostgreSQL ODBC ड्राइवर डाउनलोड करें।
  2. उस मशीन पर PostgreSQL ODBC ड्राइवर को स्थापित और लाइसेंस दें जहां Oracle स्थापित है।

    स्थापना निर्देशों के लिए, ODBC ड्राइवर दस्तावेज़ीकरण देखें।

    नोट आपको अपनी मशीन पर यूनिक्सोडबीसी ड्राइवर मैनेजर स्थापित करने की आवश्यकता है। Easysoft वितरण में unixODBC ड्राइवर प्रबंधक का एक संस्करण शामिल है जिसके साथ Easysoft PostgreSQL ODBC ड्राइवर का परीक्षण किया गया है। Easysoft ड्राइवर सेटअप प्रोग्राम आपको unixODBC इंस्टॉल करने का विकल्प देता है।

  3. /etc/odbc.ini में एक ODBC डेटा स्रोत बनाएं जो उस PostgreSQL डेटाबेस से जुड़ता है जिसे आप Oracle से एक्सेस करना चाहते हैं। उदाहरण के लिए:
    [POSTGRES_SAMPLE]
    Driver=Easysoft ODBC-Postgres Server
    Description=Easysoft ODBC-Postgres Server
    Server=192.0.2.1
    Port=5432
    Database=employees
    User=postgres
    Password=p4550rd
    Logging=No
    LogFile=
    Encrypt=No
    
  4. नए डेटा स्रोत का परीक्षण करने के लिए isql का उपयोग करें। उदाहरण के लिए:
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v POSTGRESQL_SAMPLE
    

    प्रांप्ट पर, तालिकाओं की सूची प्रदर्शित करने के लिए "सहायता" टाइप करें। बाहर निकलने के लिए, खाली प्रॉम्प्ट लाइन में रिटर्न दबाएं।

    यदि आप कनेक्ट करने में असमर्थ हैं, तो सहायता के लिए इस लेख को देखें।

  5. एक DG4ODBC init फ़ाइल बनाएँ। ऐसा करने के लिए, hs/admin . में बदलें उपनिर्देशिका। उदाहरण के लिए:
    cd $ORACLE_HOME/product/11.2.0/xe/hs/admin
    

    फ़ाइल की एक प्रति बनाएँ initdg4odbc.ora . नई फ़ाइल को नाम दें initpostgresql.ora

  6. सुनिश्चित करें कि ये पैरामीटर और मान आपकी init फ़ाइल में मौजूद हैं:
    HS_FDS_CONNECT_INFO = my_postgresql_odbc_dsn
    

    my_postgresql_odbc_dsn . को बदलें एक PostgreSQL ODBC ड्राइवर डेटा स्रोत के नाम के साथ जो लक्ष्य PostgreSQL सर्वर से जुड़ता है। उदाहरण के लिए

    HS_FDS_CONNECT_INFO = "POSTGRES_SAMPLE"
    
  7. टिप्पणी करें कि DG4ODBC ट्रेसिंग सक्षम है। उदाहरण के लिए:
    #HS_FDS_TRACE_LEVEL = <trace_level>
    
  8. listener.ora में एक प्रविष्टि जोड़ें जो DG4ODBC के लिए एक SID_NAME बनाता है। उदाहरण के लिए:
    SID_LIST_LISTENER =
     (SID_LIST =
       (SID_DESC=
         (SID_NAME=postgresql)
         (ORACLE_HOME=$ORACLE_HOME)
         (PROGRAM=dg4odbc)
       )
     )
    
  9. एक DG4ODBC प्रविष्टि को tnsnames.ora में जोड़ें जो पिछले चरण में बनाए गए SID_NAME को निर्दिष्ट करता है। उदाहरण के लिए:
    POSTGRESQL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521))
        (CONNECT_DATA =
          (SID = postgresql)
        )
        (HS = OK)
      )
    

    बदलें oracle_host अपने Oracle मशीन के होस्ट नाम के साथ।

  10. ओरेकल श्रोता को प्रारंभ (या पुनः आरंभ) करें। उदाहरण के लिए:
    lsnrctl stop
    lsnrctl start
    
  11. SQL*Plus में अपने Oracle डेटाबेस से कनेक्ट करें।
  12. एसक्यूएल*प्लस में, लक्ष्य पोस्टग्रेएसक्यूएल सर्वर के लिए एक डेटाबेस लिंक बनाएं। उदाहरण के लिए:
    CREATE PUBLIC DATABASE LINK postgresqllink CONNECT TO
    "my_postgresql_user" IDENTIFIED by "my_postgresql_password" USING 'postgresql';
    SELECT * from employees@postgresqllink
    
नोट
  • यदि आपको Oracle से PostgreSQL से कनेक्ट करने में समस्या आ रही है, तो DG4ODBC ट्रेसिंग सक्षम करें और hs/log पर लिखी गई ट्रेस फ़ाइलों की जांच करें। निर्देशिका। DG4ODBC ट्रेसिंग को सक्षम करने के लिए, लाइन जोड़ें HS_FDS_TRACE_LEVEL = DEBUG करने के लिए initpostgresql.ora और फिर Oracle श्रोता को प्रारंभ/पुनरारंभ करें। अगर log निर्देशिका मौजूद नहीं है, इसे बनाएं। उदाहरण के लिए:
    mkdir log
    chmod +w log
    
  • यदि आपको "ORA-00997:LONG डेटाटाइप का अवैध उपयोग" त्रुटि मिलती है, तो अपने ODBC डेटा स्रोत में निम्न में से एक प्रविष्टि जोड़ें:
    DisguiseLong=1 # For non-Wide PostgreSQL long columns
    LimitLong=size in bytes # If this value is too big you will get ORA-00997

    –या–

    DisguiseWlong=1
    LimitLong=size in bytes# If this value is too big you will get ORA-00997
  • यदि आपको Oracle में PostgreSQL डेटा के साथ काम करते समय "ORA-28562:Heterogeneous Services data truncation error" मिलता है, तो हमारे पास आपके लिए एक वैकल्पिक हल हो सकता है, लेकिन आपको इसका उपयोग करने के निहितार्थों को समझने की आवश्यकता है। अधिक जानकारी के लिए, Easysoft सहायता टीम () से संपर्क करें।

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ADD_MONTHS () Oracle में फ़ंक्शन

  2. Oracle में किसी फ़ाइल से डेटा को CLOB में कॉपी करना

  3. वर्षों की संख्या प्राप्त करने के लिए Oracle दिनांक अंतर

  4. वृद्धि पंक्ति संख्या जब Oracle में फ़ील्ड का मान बदलता है

  5. पीएलएसक्यूएल जेडीबीसी:अंतिम पंक्ति आईडी कैसे प्राप्त करें?