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

Проучване на грешка ORA 028513 DG4ODBC

Свързването на Oracle към SQL Server е един от най-често срещаните случаи на използване на Easysoft SQL Server ODBC драйвер. Поддържането на тази комбинация включва не само предоставяне на помощ при настройката на нашия драйвер. Това също означава да помогнем за разрешаването на проблеми с конфигурацията на Oracle, които пречат на Oracle Heterogeneous Services да стигнат до зареждането на нашия драйвер.

Наскоро клиент на ODBC драйвер на SQL Server ни съобщи следната грешка:

ORA-28513: internal error in heterogeneous remote agent

Клиентът успя да ни предостави дневник за проследяване на DG4ODBC, който ни каза две неща:

  1. Конфигурационните файлове на Oracle (.ora) бяха настроени правилно. Ако тези файлове съдържат грешка (напр. липсваща или външна скоба), няма да се генерира регистрационен файл за проследяване на DG4ODBC.
  2. DG4ODBC дори не се опитваше да зареди мениджъра на драйвери unixODBC.

В ситуации като тези, при които регистрационният файл на Oracle DG4ODBC не идентифицира проблема (обикновено винаги ще съдържа повече информация от грешката ORA-NNNNN, съобщена от приложението) и регистрирането на ODBC все още не е възможно, ние посягаме към strace или фермер . Например:

  1. Стартирайте две сесии на обвивката като потребител на Oracle.
  2. В обвивка 1 спрете слушателя на Oracle.
  3. Стартирайте слушателя с тази команда:
    strace -f -o /tmp/easysoft.log -s 512 lsnrctl start

    —Или—

    truss -wall -rall -o /tmp/easysoft.log lsnrctl start
  4. В обвивка 2 стартирайте SQL*PLus и изпълнете SQL оператор срещу връзката към базата данни DG4ODBC/SQL Server.
  5. В обвивка 2 спрете слушателя на Oracle.

Но инструментът за проследяване на системната библиотека (truss в случая на клиента) все още не разкри причината за проблема.

В крайна сметка се оказа, че клиентът задава ORA_NLS10 променлива на средата и страничен ефект от това е да попречи на DG4ODBC да работи. Тъй като променливата не трябваше да се задава на тази машина, премахването й от настройката и премахването й от файл с профил беше решението на проблема на клиента.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Свързване на FlySpeed ​​SQL заявка към Salesforce.com

  2. Интегрирайте Firebase с PHP за комуникация в реално време

  3. Колба по пример – Настройка на Postgres, SQLAlchemy и Alembic

  4. Програмиране на база данни на Python със SQL Express за начинаещи

  5. Модел на данни за животозастраховане