sql >> Databáze >  >> RDS >> Sqlserver

sql server propojený server s oracle nevrací žádná nalezená data, když data existují

Dnes jsem zažil stejný problém s vnitřním spojením. Jako vytvoření funkce s hodnotou tabulky navrhl codechurn nebo pomocí dočasného stolu navrhl user1935511 nebo změnou typů připojení navrhl cymorg nejsou pro mě žádné možnosti, rád se podělím o své řešení.

Použil jsem Nápovědy k připojení nasměrovat optimalizátor dotazů správným směrem, protože se zdá, že problém vyvstává ze strategie spojení vnořených smyček se vzdálenou tabulkou lokálně. Za mě HASH , SLOUČIT a REMOTE tipy pro připojení fungovaly.

Pro vás REMOTE nebude možné, protože jej lze použít pouze pro operace vnitřního spojení. Takže použití něčeho jako je následující by mělo fungovat.

select *
from eopf.Batch b
join eopf.BatchFile bf
  on b.BatchID = bf.BatchID
left outer merge join [OM_ORACLE]..[OM].[DOCUMENT_UPLOAD] du
  on bf.ReferenceID = du.documentUploadID;


  1. Efektivní výraz GROUP BY a CASE v Amazon Redshift/PostgreSQL

  2. Ukládání úvodních nul celých čísel v databázi MySQL jako INTEGER

  3. Jak určit sloupec identity s automatickým zvyšováním (int) pomocí Fluent-NHibernate a MySQL

  4. Volání procedury Oracle s typem záznamu PL/SQL z Spring JDBC