So stellen Sie eine Verbindung zu Oracle her

9

Ich habe festgestellt, dass es zwei Möglichkeiten gibt, in Go (unter Windows) eine Verbindung zur Oracle DB herzustellen:

  1. github.com/tgulacsi/goracle
  2. github.com/mattn/go-oci8

Aber für jemanden meiner Stufe (Anfänger in Open Source + Golang), diese beiden Methoden / Treiber sind furchtbar knifflig.

Es ist auch eine Last, all das für den Einsatz, die Entwicklung auf verschiedenen Maschinen usw. durchzuziehen (auch vorausgesetzt, dass es funktioniert).

Gibt es eine bessere Möglichkeit, eine Verbindung zu Oracle db in Golang herzustellen, oder wenn das nicht der Fall ist, kann mir jemand das in der High-Level-Ansicht erklären oder irgendeine Ansicht, die das einfacher machen würde?

Zeiger würden sehr geschätzt werden.

TQ.

    
himekami 06.03.2014, 07:16
quelle

1 Antwort

7

Wenn Sie immer noch interessiert sind, arbeite ich seit ein paar Monaten mit Go und Oracle unter Windows. Mein Lieblingstreiber ist bisher go-oci8. Es ist viel schneller als Gorakel und scheint aktiver zu sein.

Einige unserer Anwendungen müssen auf Computern bereitgestellt werden, auf die wir keinen Zugriff haben. Beide nativen SQL-Treiber werden mit der Anwendung kompiliert, ohne dass eine externe Konfiguration erforderlich ist. Das ist ein großer Vorteil. Der Computer wird weiterhin Oracle-Client installiert müssen, aber das ist die einzige externe Abhängigkeit.

Ich werde nicht sagen, dass die Produktion noch nicht fertig ist, aber sie ist stabil genug, wenn man ihre Grenzen kennt. Ein Beispiel ist, dass es in Panik gerät, wenn es gleichzeitig auf mehreren Goroutinen läuft. Wenn Sie das brauchen, können Sie einen Mutex verwenden.

Ich habe dieses Tutorial im Grunde genommen verfolgt, um es zu installieren: Ссылка

Der schwierigste Teil war, oci8.pc korrekt zu erstellen. Meine ist:

%Vor%

Einige Dinge könnten reduant sein, ich könnte versuchen, es auf einer sauberen Maschine zu verbessern.

Es ist wichtig zu beachten, dass Sie die gleiche Architektur für Go und den Oracle-Client verwenden sollten. Wenn Sie also die 64-Bit-Version von Go verwenden möchten, benötigen Sie auch die 64-Bit-Version von Oracle. Ich habe sowohl 32 als auch 64 Bit Versionen von beiden, und während 64 Bit meine Standardeinstellung ist, verwende ich Bat-Dateien, um die notwendigen Pfade und Umgebungsvariablen zu ändern, wenn ich eine 32-Bit-Version erstellen muss.

Es könnte sich lohnen, etwas Zeit zu investieren, damit es funktioniert, Sie werden wahrscheinlich eine viel bessere Leistung als mit ODBC bekommen. Ich benutze es mit etwas hohem Datenvolumen (Abfragen, die mehr als 5 Millionen Zeilen erreichen) und es funktioniert sehr gut.

    
Ricardo Smania 19.09.2014, 19:29
quelle

Tags und Links