อยากใช้ก็ต้อง งม.. สิครับ
OCI ก็ต้องใช้ downlaod instance client มาก่อน (ตามสูตร) ลงทะเบียนแล้ว download จาก http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html ผมใช้ OSX (Maverick)
Download
- instantclient-basic-macos_x64-11.2.0.3.0.zip
- instantclient-sdk-macos_x64-11.2.0.3.0.zip
แล้วผมทำแบบนี้ครับ
- unzip basic แล้ว move ไปไว้ที่ /usr/lib/instantclient_11_2
- sym link
- ln /usr/lib/instantclient_11_2/libclntsh.dylib.11.1 /usr/lib/libclntsh.dylib.11.1
- ln /usr/lib/instantclient_11_2/libocci.dylib.* /usr/lib/libocci.dylib.*
- ln /usr/lib/instantclient_11_2/libociei.dylib /usr/lib/libociei.dylib
- ln /usr/lib/instantclient_11_2/libnnz11.dylib /usr/lib/libnnz11.dylib
- ดูว่าเครื่องติดตั้ง pkg-config รึยัง ถ้ายังติดตั้ง ถ้ายังใช้ MacPort ก็ได้ครับ
- sudo port install pkgconfig
- แล้วสร้าง oci8.pc ไว้ที่ /usr/lib/pkconfig ตามนี้ครับ (ไฟล์จากเครื่องผม)
-
prefix=/usr/lib/instantclient_11_2libdir=${prefix}includedir=${prefix}/sdk/include/Name: OCIDescription: Oracle database engineVersion: 11.2Libs: -L${libdir} -lclntshLibs.private:Cflags: -I${includedir}
- เริ่ม Build
- ไปที่ project workspace path
- $ export GOPATH=`pwd`
- $ go get github.com/mattn/go-oci8
- Go จะ Build และ link OCI ให้อัตโนมัติ โดยใช้ oci8.pc ที่เราสร้างไว้
- ถ้าไม่มีอะไรผิดพลาด (error report) ถือว่าเสร็จเรียบร้อย
- ทดสอบ
- เข้าไปที่ $GOPATH/src/src/github.com/mattn/go-oci8/example
- แก้ไฟล์ oracle.go บรรทัด
- db, err := sql.Open("oci8", "scott/tiger")
- เป็น config ของ ORA ของเรา
- ของผมเป็นแบบนี้ครับ
- db, err := sql.Open(
"oci8", "system/manager@192.168.1.40:1521/hello")
- เรียก $go run oracle.go
ไม่พบ Error เสร็จ เรียบร้อย...
Modified และ Fix error จาก : https://github.com/Centny/Centny/blob/master/Articles/How%20build%20github.com:mattn:go-oci8.md
ไม่มีความคิดเห็น:
แสดงความคิดเห็น