sql >> Database teknologi >  >> RDS >> Oracle

Referencer Oracle brugerdefinerede typer over DBLINK?

Jeg har læst Oracle-dokumentationen, og det er ikke særlig svært.

Du skal tilføje en OID til dine typedefinitioner i begge databaser.

Du kan bruge en GUID som OID.

SELECT SYS_OP_GUID() FROM DUAL; 

SYS_OP_GUID()
--------------------------------
AE34B912631948F0B274D778A29F6C8C

Opret nu din UDT i begge databaser med SAME OID.

create type testlinktype oid 'AE34B912631948F0B274D778A29F6C8C' as object
( v1 varchar2(10) , v2 varchar2(20) );
/

Opret nu en tabel:

create table testlink 
( name testlinktype);

insert into testlink values (testlinktype ('RC','AB'));

commit;

Nu kan du vælge fra tabellen via dblinket i den anden database:

select * from [email protected]_ora10;

NAME(V1, V2)
--------------------------
TESTLINKTYPE('RC', 'AB')

Hvis du får fejlmeddelelsen ORA-21700, når du prøver at vælge via dblinket første gang, skal du bare oprette forbindelse igen.



  1. MySQL-fejl 1215:Kan ikke tilføje fremmednøglebegrænsning

  2. Eksempler på JDBC-erklæringer – Indsæt, Slet, Opdater, Vælg Record

  3. MySQL-vælg med CONCAT-tilstand

  4. Oracle dato til streng konvertering