Gå til innhold

Two phase commit mellom SQL Server og Oracle


Anbefalte innlegg

Hei.

 

Jeg har støtt på et problem som jeg ikke klarer å løse. (For andre gang i historien har ikke Google vært til hjelp :mad: )

 

Her er problemet:

Vi har to ERP systemer. Det ene kjører SQL Server 2005 på Windows 2003 (32bit) Server Standard Edition SP2. Det andre, og her kommer problemet, kjører på Oracle 10g Enterprise Editon på Red Hat Enterprise Linux ES R4 (kernel 2.6.9.67). Har flere detaljer hvis det trengs.

 

På SQL Serveren fylles en logtabell med endringer fra diverse moduler i ERP systemet. Hver natt ønsker vi å kopiere disse dataene til en tabell på Oracle serveren. Når disse er kopiert skal alle data i log-tabellen på SQL Serveren slettes. Dette vil jeg selvfølgelig kjøre i en transaksjon. Jeg har satt opp en Linked Server (Microsoft OLE DB Provider fra Oracle) på SQL Serveren til Oracle serveren, og denne fungere fint. SQL batchen kjøres på SQL Serveren, og feilmeldingen som jeg får er som følger:

Msg 7391, Level 16, State 2, Line 4

The operation could not be performed because OLE DB provider "MSDAORA" for linked server "concorde" was unable to begin a distributed transaction.

MSDTC er startet på Windows serveren, men hva må gjøres på serveren som kjører Oracle for å kunne starte en distribuert transaksjon? Er det i det hele tatt mulig?

 

 

 

FYI: Jeg er grønn som ei nyklyppet gress-eng når det gjelder Linux og Oracle administrasjon.

Lenke til kommentar
Videoannonse
Annonse
MSDTC er startet på Windows serveren, men hva må gjøres på serveren som kjører Oracle for å kunne starte en distribuert transaksjon? Er det i det hele tatt mulig?

Det skulle jeg tro ja, hvis ikke forstår jeg ikke hvordan Microsoft klarer å få til hetrogen replikering (til DB2/Oracle). På den annen side er hetrogen replikering kun tilgjengelig i Enterprise Edition, så det kan være begrensningen, uten at jeg kan forstå at det er problemet i ditt tilfelle.

 

Som deg vet jeg ikke hvordan du kan få det til, unntatt ved å kjøre concorde på mssql da selvsagt ...

Lenke til kommentar
Som deg vet jeg ikke hvordan du kan få det til, unntatt ved å kjøre concorde på mssql da selvsagt ...

 

Hehe. Hadde det vært jeg som bestemt så hadde vi kjørt alt på SQL Server, siden vi allikevel er "fastlåst" til så mye annet fra Microsoft. Ting hadde vært utrolig mye enklere da.

 

Jeg får google videre og se om jeg finner noe, evt. åpne en support case hos Microsoft.

 

Takk for svar allikevel :thumbup:

 

Når/hvis jeg finner en løsning så skal jeg poste den her.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...