Wie eine Verbindung zu Oracle gehen
Entnehme ich, es gibt zwei Möglichkeiten, eine Verbindung zu Oracle DB Gehen (bei windows):
- github.com/tgulacsi/goracle
- github.com/mattn/go-oci8
Aber für jemanden der auf meinem Niveau (Anfänger in open-source - +golang), diese beiden Methoden/Treiber sind schrecklich kompliziert.
Es ist auch eine Last, die zu gehen durch alle, die für die Bereitstellung, Entwicklung auf verschiedenen Maschinen etc. (Auch davon aus, dass es funktioniert).
Gibt es einen besseren Weg, um eine Verbindung zu Oracle db in golang, oder wenn es dann nicht kann mir jemand erklären in high-level-Ansicht oder einer Ansicht für diese Angelegenheit, würde dies erleichtern?
Zeiger wäre sehr dankbar.
TQ.
- Ich habe beschlossen, die ODBC verwenden, statt. ich habe versucht, diesen adapter hier unten und so weit es funktioniert perfekt. link : github.com/weigj/go-odbc
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie noch daran interessiert sind, arbeite ich auch mit Gehen und Oracle unter Windows für ein paar Monate jetzt. Meine Lieblings-Fahrer, so weit zu gehen-oci8. Es ist viel schneller als goracle und scheint aktiver zu sein.
Einige unserer Anwendungen bereitgestellt werden müssen, auf Computern, auf denen wir keinen Zugang haben. Sowohl native SQL-Treiber sind kompiliert mit der Anwendung ohne die Notwendigkeit für eine externe Konfiguration, so dass ist ein großes plus. Die computer müssen immer noch die Oracle-client installiert ist, aber das ist der einzige externe Abhängigkeit.
Sage ich nicht gehen-oci8 ist die Produktion noch bereit, aber es ist stabil genug, wenn Sie wissen, Ihre Grenzen. Ein Beispiel ist, dass es in Panik, wenn Sie unter mehreren goroutines gleichzeitig, also, wenn Sie benötigen, möchten Sie vielleicht einen mutex verwenden.
Ich habe im Grunde folgte diesem tutorial zu installieren: https://gist.github.com/mnadel/8678269
Der schwierigste Teil war die Schaffung oci8.pc corretly. Meins ist:
Manche Dinge könnten reduntant, könnte ich versuchen, es zu verbessern, Sie auf einem sauberen Computer.
Eine wichtige Sache zu beachten ist, dass Sie sollten die gleiche Architektur für die Go-und der Oracle-client. Also, wenn Sie wollen, verwenden Sie die 64-bit-version von Go müssen Sie auch die 64-bit-version von Oracle. Ich habe beide 32 und 64-bit-Versionen der beiden, und beim 64 bit ist mein Standard ich verwende bat-Dateien zu ändern, die notwendigen Pfade und environment-Variablen, wenn ich Sie brauche, um aufzubauen, eine 32-bit-version.
Es sich lohnen könnte, zu investieren einige Zeit, um zu machen es funktioniert, werden Sie wahrscheinlich erhalten Sie viel bessere Leistung als die Verwendung von ODBC. Ich habe es mit etwas hohem Datenaufkommen (Abfragen, abrufen 5+ Millionen Zeilen) und es funktioniert sehr gut.