Oracle
 sql >> база данни >  >> RDS >> Oracle

Свързване на Oracle към SQL Server от Windows

Свържете приложенията на Oracle на Windows към SQL Server.

Можете да използвате шлюза за база данни на Oracle за ODBC (DG4ODBC) и ODBC драйвера на SQL Server, за да свържете Oracle към SQL Server.

DG4ODBC идва като част от Oracle 11g и по-късно, без допълнителни разходи, и е съвместим с Oracle 10g и по-късно.

DG4ODBC взаимодейства с Heterogeneous Services (компонент на база данни на Oracle), за да позволи на клиентските приложения на Oracle да имат достъп до бази данни, различни от Oracle. Данните, различни от Oracle, са прозрачно интегрирани и така клиентските приложения на Oracle не са наясно, че данните се съхраняват в отдалечена база данни от друг доставчик

Следните инструкции ви показват как да свържете Oracle на Windows към SQL Server. За допълнителна информация относно DG4ODBC вижте нашите уроци за DG4ODBC за Windows.

  1. Изтеглете ODBC драйвера на SQL Server за вашата Windows платформа. (Необходима е регистрация.)
  2. Инсталирайте и лицензирайте ODBC драйвера на SQL Server на машината с Windows, където е инсталиран DG4ODBC.

    За инструкции за инсталиране вижте документацията на SQL Server ODBC драйвер.

  3. В ODBC Data Source Administrator на вашата DG4ODBC машина, конфигурирайте системен DSN, който се свързва с вашия екземпляр на SQL Server.

    За инструкции относно конфигурирането на източници на данни вижте документацията на SQL Server ODBC драйвер.

    64-битов Windows Трябва да проверите дали вашата версия на DG4ODBC е 32-битова или 64-битова. За да направите това, стартирайте диспечера на задачите на Windows и изберете раздела Процеси. В прозорец на командния ред въведете dg4odbc --help. В диспечера на задачите на Windows потърсете процеса DG4ODBC. Ако името на изображението е "dg4odbc.exe *32", DG4ODBC е 32-битов. Ако името на изображението е "dg4odbc.exe", DG4ODBC е 64-битов. Натиснете CTRL+C в прозореца на командния ред, когато сте използвали Windows Task Manager, за да разберете архитектурата на DG4ODBC.

    Ако имате 64-битова версия на DG4ODBC, трябва да стартирате 64-битова версия на ODBC Administrator. За да направите това, отворете Административни инструменти в контролния панел и след това отворете Източници на данни (ODBC). (В Windows Server 2003 и по-стари, аплетът на контролния панел, който стартира ODBC Administrator, е обозначен като източници на данни. В Windows 8 и по-нови версии аплетът на контролния панел е обозначен с ODBC източници на данни (64-битови).)

    Ако имате 32-битова версия на DG4ODBC, трябва да стартирате 32-битова версия на ODBC Administrator. За да направите това, в диалоговия прозорец Изпълнение на Windows въведете:

    %windir%\syswow64\odbcad32.exe
  4. Създайте файл за инициализиране на DG4ODBC. За да направите това, преминете към %ORACLE_HOME%\hs\admin директорията. Създайте копие на файла initdg4odbc.ora. Наименувайте новия файл initmssql.ora .

    Забележка В тези инструкции заменете %ORACLE_HOME% с местоположението на вашата HOME директория на Oracle. Например C:\oraclexe\app\oracle\product\11.2.0\server.

  5. Уверете се, че тези параметри и стойности присъстват във вашия init файл:
    HS_FDS_CONNECT_INFO = my_sqlserver_odbc_dsn;
  6. Добавете запис към %ORACLE_HOME%\network\admin\listener.ora, който създава SID_NAME за DG4ODBC. Например:
    SID_LIST_LISTENER =
     (SID_LIST =
       (SID_DESC=
         (SID_NAME=mssql)
         (ORACLE_HOME=%ORACLE_HOME%)
         (PROGRAM=dg4odbc)
       )
     )
  7. Добавете запис DG4ODBC към %ORACLE_HOME%\network\admin\tnsnames.ora, който посочва SID_NAME, създаден в предишната стъпка. Например:
    MSSQL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521))
        (CONNECT_DATA =
          (SID = mssql)
        )
        (HS = OK)
      )

    Заменете oracle_host с името на хоста на вашата Oracle машина.

  8. Стартирайте (или рестартирайте) Oracle Listener:
    cd %ORACLE_HOME%\bin
    lsnrctl stop
    lsnrctl start
  9. Свържете се с вашата база данни Oracle в SQL*Plus.
  10. В SQL*Plus създайте връзка към базата данни за целевия екземпляр на SQL Server. Например:
    CREATE PUBLIC DATABASE LINK mssqllink CONNECT TO
    "my_sqlserver_user" IDENTIFIED by "my_sqlserver_password" USING 'mssql';

    Заменете my_sqlserver_user и my_sqlserver_password с валидно потребителско име и парола за целевия екземпляр на SQL Server.

Бележки

  • Ако имате проблеми при свързването със SQL Server от Oracle, активирайте проследяването на DG4ODBC и проверете проследяващите файлове, записани в директорията %ORACLE_HOME%\hs\trace. За да активирате проследяването на DG4ODBC, добавете реда HS_FDS_TRACE_LEVEL =DEBUG към initmssql.ora и след това стартирайте/рестартирайте слушателя на Oracle. Ако директорията за проследяване не съществува, създайте я.
  • Ако активирате проследяването на ODBC Driver Manager, но не получавате файл за проследяване или празен файл за проследяване, променете местоположението на файла за проследяване на TEMP директорията на Windows. Например C:\Windows\Temp\SQL.log.

Проблеми с достъпа до вашите данни

Ако срещнете някакви проблеми, опитвайки се да четете/запишете данни в SQL Server от Oracle, моля, направете следното:

  • Уверете се, че проблемът не е в приложението, което използвате, например SQL Developer, Toad и т.н. Тествайте проблема с помощта на SQLPlus на машината Oracle. Ако проблемът възниква само например под Toad, а не в SQLPlus, моля, докладвайте проблема на хората, които поддържат Toad.
  • Опитайте се да ограничите проблема до колоната/таблицата на проблема. Да кажем, например, че изпълнявате select * from table@link и имате само 1 колона, която причинява проблема, опитайте да изпълните select column from table@link и вижте дали това дава същата грешка. Това ни помага да диагностицираме проблема.
  • Ако трябва да се свържете с поддръжката на Easysoft с проблем с DG4ODBC:
    1. Включете проследяването на Dg4ODBC във вашия файл $ORACLE_HOME/hs/admin/initmssql.ora:
      HS_FDS_TRACE_LEVEL = Debug
    2. Спрете и стартирайте своя слушател на Oracle.
    3. Възпроизведете проблема в SQL Plus. Ако не получите файл за проследяване на Oracle във вашата папка $ORACLE_HOME/hs/log, вашият слушател не е рестартиран или Oracle не е конфигуриран правилно.
    4. Изпратете екипа за поддръжка на Easysoft ([email protected]):
      • Изход, показващ влизането в SQLPlus, изпълняваната заявка и показваната грешка.
      • Копие на вашия регистрационен файл на Oracle initmssql. Моля, архивирайте/компресирайте този файл, ако е повече от 1 MB.
      • Копие на вашия файл initmssql.ora.
      • Копие на файловете, завършващи на _install.info от /usr/local/easysoft.
      • След като имаме всички артикули, екипът за поддръжка на Easysoft трябва да може бързо да разбере дали това е проблем с конфигурацията/бъг на Oracle в Oracle, конфигурация/бъг на 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. Как да декларирам и използвам променливи в PL/SQL, както правя в T-SQL?

  2. Групово вмъкване в Oracle с помощта на .NET

  3. Как мога да поправя тази грешка:не се поддържа SQL92?

  4. Урок за Oracle sql:Ограничаване на набора от данни

  5. възможно ли е да има генератор на буквено-цифрова последователност в sql