본문 바로가기
Programming/Golang

Go언어 oracle 연결

by Wilkyway 2020. 3. 26.
반응형

Go언어로 Oracle 연결하기 위한 드라이버가 몇가지가 있는데, 그 중 Setting이 간단하고 실행 가능했던 드라이버가 godror 였습니다. 아래는 참조한 사이트이구요..

https://blogs.oracle.com/developers/how-to-connect-a-go-program-to-oracle-database-using-goracle

How to Connect a Go Program to Oracle Database using godror

Note: This blog post was updated from the original to reflect the new name for the Go Driver for Oracle Database: godror, ormerly known as goracle. Oracle has offered Go programming language RPMs on Oracle Linux yum server, for a while now. In this post, I

blogs.oracle.com

(ps) 아래와 같은 드라이버도 있는데, 

gopkg.in/rana/ora.v4

github.com/mattn/go-oci8

oci8.pc라는 파일을 세팅해야하는데 잘 안되서 중간에 설치하다가 계속 실패했습니다.

 

godror를 기준으로 설명하자면....

 

1. 우선 Oracle Instant Client 를 설치해야 합니다. 이건 다른 드라이버들을 설치한다고 해도 공통적인 사항입니다.

2. godror을 아래 명령어로 설치를 합니다.

go get github.com/godror/godror

3. 아래의 소스를 작성해서 테스트해 봅니다.

package main

import (
	"database/sql"
	"fmt"

	_ "github.com/godror/godror"
)

func main() {

	db, err := sql.Open("godror", "username/password@service_name:port/SID")
	if err != nil {
		fmt.Println(err)
		return
	}
	defer db.Close()

	rows, err := db.Query("select EMP_#1 from TEMP where NAME='홍길동'")
	if err != nil {
		fmt.Println("Error running query")
		fmt.Println(err)
		return
	}
	defer rows.Close()

	var emp string			// DB에서 받을 데이터를 저장할 변수 선언

	for rows.Next() {

		rows.Scan(&emp)		// DB에서 받은 데이터 할당
	}
	fmt.Printf("The date is: %s\n", emp)
}

 

별다른 설정 없이도 설치만으로 DB 접속할 수 있는 환경이 구성됩니다.

이상 Go언어로 Oracle DB에 접속하는 방법 끝.~~

반응형

댓글