sql >> Databáze >  >> RDS >> Oracle

Jemné ladění Oracle DG40DBC

Nedávno jeden zákazník sdílel řešení, které vyřešilo problém, ke kterému došlo při použití našeho ovladače SQL Server ODBC pro připojení Oracle k SQL Server. Chyba, kterou zákazník dostával, byla:

DELETE FROM mytable@MYLINKEDDATABASE
WHERE MyCol = 'MyValue';

17:01:01 [DELETE - 0 row(s), 0.000 secs] [Error Code: 2070, SQL State: 42000]
ORA-02070: database MYLINKEDDATABASE does not support some function in this context

a toto bylo vyřešeno:

SQL> select fds_class_name from HS_FDS_CLASS;
ODBC11.2.0.2.0_0008
exec dbms_hs.replace_class_caps('ODBC11.2.0.2.0_0008', 564,'ODBC11.2.0.2.0_0008',564,
	                                                                 8191,NULL,1);

PL/SQL procedure successfully completed.

SQL> commit;

Commit complete

V Oracle vrátí „SELECT FDS_CLASS_NAME FROM HS_FDS_CLASS“ řetězec, který identifikuje vaši verzi DG4ODBC. Např.:

ODBC11.2.0.2.0_0008

Spuštění tohoto dotazu:

SELECT * FROM HS_CLASS_CAPS WHERE FDS_CLASS_NAME ='ODBC11.2.0.2.0_0008';

vrací řadu "schopností", které ukazují, jak je DG4ODBC nakonfigurován, aby se choval.

Ve výše uvedeném příkladu byl sloupec zákazníka NVARCHAR typ. Pod vedením podpory Oracle zákazník změní chování DG4ODBC s ohledem na tento typ dat.

Zákazník našel příslušné pole v HS_CLASS_CAPS :

564 TO_NCHAR(op1) 0

a změnil jej pomocí balíčku Oracle DBMS_HS.ALTER_CLASS_CAPS .

Všimněte si, že to, co dělají různé funkce DG4ODBC, není, jak se zdá, nikde veřejně zdokumentováno. Tento blog proto nemůže poskytnout konkrétní návod, jak je používat k řešení konkrétního problému. Místo toho je blog poskytován proto, abyste věděli, že máte k dispozici jiný nástroj, pokud úprava parametrů v konfiguračním souboru DG4ODBC, init.ora nevyřeší žádné problémy, které máte s připojením DG4ODBC.

Viz také

  • Odstranění nebo aktualizace příkazu pomocí TG4MSQL 10.2 nebo DG4ODBC 11.2 odkazující na pole Nvarchar v místě, kde klauzule uvádí chybu ORA-2070
  • Re:Problém s Oracle Database Gateway pro ODBC a Unicode

  1. Syntaxe SQL SELECT – řazeno podle DBMS

  2. MySQL:Alternativy k ORDER BY RAND()

  3. Jak nasadit databázi Chamilo MySQL pro vysokou dostupnost

  4. 3 způsoby, jak vypsat všechny spouštěče pro danou tabulku v PostgreSQL