Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

SQL zu Oracle via OLE DB Provider

Empfohlene Antworten

Hallo Kollegen!

zurzeit versuche ich einen SQL Server mit einer Oracle Datenbank kommunizieren zu lassen.

So sieht meine Konstellation aus:

- Windows 2003 R2 Server mit Oracle 10.2.0.4.0 Datenbank (alles 32Bit)

- Windows 2008 R2 Server mit SQL Server 2008 R2 und Oracle Client 11.2 (alles 64Bit)

Das habe ich gemacht:

Ich bin diesen (How to set up and troubleshoot a linked server to an Oracle database in SQL Server) Microsoft Artikel durchgegangen, habe natürlich die Regestry Anpassungen dem 11er Client entsprechend getätigt.

Auf dem SQL Server ist die tnsnames.ora da und „konfiguriert“.

Über das Microsoft SQL Management Studio habe ich einen Verbindungsserver erstellt, in diesem ich wiederum den in der tnsnames.ora angegebenen Connect Identifier angebe.

Soweit so gut, ich kann nun vom SQL Server aus, mit dem SQL Editor einen Select, Update oder Insert Befehl an die Oracle DB schicken (erfolgreich!).

Führe ich nun einen identischen Befehl aus einem Trigger oder einer Prozedur aus, erhalte ich folgende Fehlermeldung:

----

Der OLE DB-Anbieter 'OraOLEDB.Oracle' für den Verbindungsserver 'CONNECT_ORACLE' hat die Meldung 'Die neue Transaktion kann im angegebenen Transaktionskoordinator nicht eingetragen werden. ' zurückgeben.

Der Vorgang konnte nicht ausgeführt werden, da der OLE DB-Anbieter 'OraOLEDB.Oracle' für den Verbindungsserver 'CONNECT_ORACLE' keine verteilte Transaktion beginnen konnte.

---

Hat jemand damit Erfahrungen?

Kann jemand helfen?

Vielen Dank schon mal!

Gruß

f1r3storm

Hallo Thomas,

z.B.:

update CONNECT_ORACLE..IID.TBTR_AUFTRAG_1 set AUFTRAG_ID = '1025' where AUFTRAGNR = '9‘

Danke Dir!

Hallo!

Vielleicht hilft hier OpenQuery. Die Abfrage ist hier dann einfacher Text (also PL/SQL) der direkt am Oracle Server ausgeführt wird.

Ich hatte diese Problematik noch nicht aber hoffe, dass es Dir weiter hilft.

Hier mal ein Link: OpenQuery

Gruß,

Thomas

Hallo Thomas,

Danke erst mal für deine Mühe! Leider hat OpenQuery keine Veränderung im Verhalten erbracht.

Habe aber über ein MS Forum die Lösung erhalten.

Das Problem war, ich hatte den Oracle 11.2 Client installiert (Installationsart: Administrator), dieser installiert allerdings nicht alles was man für diese Verbindungsart benötigt mit!

Zusätzlich muss man die Client Installation "Benutzerdefiniert" durchführen.

In dieser wählt man "Oracle Service for Microsoft Transaction Server" aus.

Dieser installiert einen neuen Dienst "OracleMTSRecoveryService".

In einem Script oder Trigger muss man dann nur noch "set xact on" davor schreiben.... dann geht alles!!! :)

Vielen Dank nochmal!

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.