Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách kết nối với Oracle khi di chuyển

Nếu bạn vẫn quan tâm, tôi đã làm việc với Go và Oracle trên Windows trong vài tháng nay. Trình điều khiển yêu thích của tôi cho đến nay là go-oci8. Nó nhanh hơn nhiều so với goracle và dường như hoạt động tích cực hơn.

Một số ứng dụng của chúng tôi cần được triển khai trên các máy tính mà chúng tôi không có quyền truy cập. Cả hai trình điều khiển SQL gốc đều được biên dịch với ứng dụng mà không cần bất kỳ cấu hình bên ngoài nào, vì vậy đó là một điểm cộng rất lớn. Máy tính vẫn cần cài đặt ứng dụng khách Oracle, nhưng đó là phần phụ thuộc bên ngoài duy nhất.

Tôi sẽ không nói go-oci8 đã sẵn sàng sản xuất, nhưng nó đủ ổn định khi bạn biết những hạn chế của nó. Một ví dụ là nó hoảng sợ khi chạy trên nhiều goroutines đồng thời, vì vậy nếu cần, bạn có thể muốn sử dụng mutex.

Về cơ bản tôi đã làm theo hướng dẫn này để cài đặt nó: https://gist.github.com/mnadel/8678269

Phần khó nhất là tạo oci8.pc corretly. Của tôi là:

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}

Một số thứ có thể không hoạt động, tôi có thể cố gắng cải thiện nó trên một máy sạch.

Một điều quan trọng cần lưu ý là bạn nên sử dụng cùng một kiến ​​trúc cho Go và ứng dụng khách Oracle. Vì vậy, nếu bạn muốn sử dụng phiên bản 64 bit của Go, bạn cũng sẽ cần phiên bản 64 bit của Oracle. Tôi có cả hai phiên bản 32 và 64 bit và mặc định 64 bit, tôi sử dụng tệp bat để thay đổi các đường dẫn và biến môi trường cần thiết khi tôi cần tạo phiên bản 32 bit.

Có thể đáng đầu tư một chút thời gian để làm cho nó hoạt động, bạn có thể sẽ nhận được hiệu suất tốt hơn nhiều so với sử dụng ODBC. Tôi đã và đang sử dụng nó với khối lượng dữ liệu hơi cao (các truy vấn tìm nạp hơn 5 triệu hàng) và nó hoạt động rất tốt.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự khác biệt về kế hoạch thực thi không đáng kể với Oracle khi sử dụng Dấu thời gian hoặc Ngày của jdbc

  2. Làm cách nào để lấy tất cả thông tin về một bảng trong Oracle?

  3. ORA-01401:giá trị được chèn quá lớn cho cột CHAR

  4. Oracle - Điều gì sẽ xảy ra khi làm mới chế độ xem 'REFRESH FORCE ON DEMAND' với DBMS_MVIEW.REFRESH

  5. Cách chạy SQL trong tập lệnh shell