Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana cara terhubung ke Oracle di go

Jika Anda masih tertarik, saya telah bekerja dengan Go dan Oracle di Windows selama beberapa bulan sekarang. Driver favorit saya sejauh ini adalah go-oci8. Ini jauh lebih cepat daripada goracle dan tampaknya lebih aktif.

Beberapa aplikasi kami perlu digunakan di komputer yang tidak dapat kami akses. Kedua driver SQL asli dikompilasi dengan aplikasi tanpa memerlukan konfigurasi eksternal apa pun, jadi itu adalah nilai tambah yang besar. Komputer masih memerlukan klien Oracle yang diinstal, tetapi itu adalah satu-satunya ketergantungan eksternal.

Saya tidak akan mengatakan go-oci8 sudah siap produksi, tetapi cukup stabil ketika Anda mengetahui batasannya. Salah satu contohnya adalah ia panik saat menjalankan beberapa goroutine secara bersamaan, jadi jika Anda membutuhkannya, Anda mungkin ingin menggunakan mutex.

Saya pada dasarnya mengikuti tutorial ini untuk menginstalnya:https://Gist.github.com/mnadel/8678269

Bagian tersulit adalah membuat oci8.pc dengan benar. Milik saya adalah:

prefix=/devel/target/1.0
exec_prefix=${prefix}
libdir=C:/oracle/instantclient_12_1_64/sdk/lib/msvc
includedir=C:/oracle/instantclient_12_1_64/sdk/include
oralib=C:/oracle/instantclient_12_1_64/sdk/lib/msvc
orainclude=C:/oracle/instantclient_12_1_64/sdk/include
gcclib=c:/MinGW_64/mingw64/lib
gccinclude=c:/MinGW_64/mingw64/lib
glib_genmarshal=glib-genmarshal
gobject_query=gobject-query
glib_mkenums=glib-mkenums
Name: oci8
Version: 12.1
Description: oci8 library
Libs: -L${oralib} -L${gcclib} -loci
Libs.private:
Cflags: -I${orainclude} -I${gccinclude}

Beberapa hal mungkin berlebihan, saya mungkin mencoba memperbaikinya pada mesin yang bersih.

Hal penting yang perlu diingat adalah Anda harus menggunakan arsitektur yang sama untuk Go dan klien Oracle. Jadi jika Anda ingin menggunakan Go versi 64 bit, Anda juga memerlukan Oracle versi 64 bit. Saya memiliki keduanya versi 32 dan 64 bit, dan meskipun 64 bit adalah default saya, saya menggunakan file bat untuk mengubah jalur dan variabel lingkungan yang diperlukan ketika saya perlu membuat versi 32 bit.

Mungkin perlu menginvestasikan waktu untuk membuatnya bekerja, Anda mungkin akan mendapatkan kinerja yang jauh lebih baik daripada menggunakan ODBC. Saya telah menggunakannya dengan volume data yang agak tinggi (kueri yang mengambil 5+ juta baris) dan berfungsi dengan sangat baik.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Permintaan pembaruan berganda Oracle

  2. Ringan untuk Oracle

  3. ORA-907 hilang tanda kurung kanan saat menggunakan kata kunci AS

  4. Pekerjaan Stats Pengoptimal 11g Saya Berhenti Pada Saya – Diperbaiki

  5. Status klien instan Oracle