일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- terraform
- 파이썬
- VMware
- 암시적 커서
- X11
- 프로그래머스
- X11 forwarding
- Tuple
- oracle
- implicit
- 티베로
- tas tac
- Python
- vm tac 구성
- 리눅스
- python3.7
- 코테
- 묵시적 커서
- OPEN CURSOR
- Linux
- db
- tibero
- golang
- 코딩테스트
- VM 설정
- DDL 추출
- tablespace
- tac
- vm
- CentOS
- Today
- Total
줄기세포
[Go언어] Golang과 DB연동하기 - 1. 티베로(Tibero) 서버와 연결 방법(2) 본문
[Go언어] Golang과 DB연동하기 - 1. 티베로(Tibero) 서버와 연결 방법(2)
줄기세포(Stem_Cell) 2021. 5. 27. 01:14앞글에서 설명한 내용에 이어지기 때문에
앞에 설정을 못했다면 구성되지 않으니 설정하고 온다.
앞글 - [Go언어] Golang과 DB연동하기 - 1. 티베로(Tibero) 서버와 연결 방법(1)
https://novice-data.tistory.com/19
[Go언어] Golang과 DB연동하기 - 1. 티베로(Tibero) 서버와 연결 방법(1)
___ 서론 ___ 컴공 전공자가 아니고 Python을 첫 언어로 배웠기 때문에 JAVA와 C++의 정의와 개념이 나에게 어려움으로 다가왔었다. 그래서 선택한 컴파일 언어가 "Go 언어"이다. 교재는 http://golang.site/
novice-data.tistory.com
3. DSN 설정
앞글 에서 추가한 Tibero 드라이버를 이용하여 DSN을 만들어준다.
시스템 DSN과 사용자 DSN 의 차이는
시스템 DSN은 어느 USER로 로그인해도 다 사용가능하고,
사용자 DSN은 해당 사용자 이외의 사용자는 사용 못하는 구조.
나만 쓰는 노트북이고 User가 하나밖에 없다면, 아무곳이나 설정해주자.
시스템 DSN - 추가 클릭
아래 같이 뜨면 Tibero 6 ODBC Driver를 더블클릭
연결할 DB의 접속정보를 입력하는 창이 뜬다.
각 항목별로 설명을 보고, 각 DB에 맞게 DSN을 설정
Data Source Name : [DSN 이름] - 내가 사용할 이름을 입력한다. Golang에서 DSN을 불러올 때, 사용할 이름!
Description : [설명]
Connection Method: [IP, Port 방식] or [tbdsn.tbr의 SID 방식] - IP,Port 선택
Server (IP) : [접속 DB의 IP]
Port : [DB Port] - 일반적으로 Tibero의 default port는 8629
DB Name: [DB의 SID]
User: [Tibero 접속 User(DB)]
Password: [Password]
아래는 예시 - TEST를 눌러 session이 생기는지 확인
접속실패
실패원인은 다양한데, TBR-2131 에러코드를 검색해보면 Tibero 매뉴얼에 간단한 설명이 나온다.
보통 서버의 방화벽이나 DB가 기동중이 아니라든지 단순한 원인부터 접근해보자
접속성공
OK를 눌러 DSN을 저장해준다
DSN이 완성된 것을 리스트로 확인
여기까지 했으면 거의 다했다.
자축! 짝!짝!짝!
4. Go를 이용해 DB 연결
database/sql 패키지와 2번 go get으로 설치한 alexbrainman의 odbc 패키지를 import한다
package main
import (
"database/sql"
_ "github.com/alexbrainman/odbc"
"log"
"fmt"
)
3번에서 설정한 DSN이름을 넣어준다
func main(){
// db와 연결이 되는지 확인
// 사용할 package는 odbc
// DSN=[3번에서 설정한 DSN 이름]을 입력한다!
db, err := sql.Open("odbc", "DSN=tibero")
if err != nil {
log.Fatal(err)
} else {
fmt.Println("Connected")
}
//간단한 쿼리를 실행하고, select 결과값을 변수로 받아 출력해준다.
var name string
row1 := db.QueryRow("select DB_NAME from v$instance")
err = row1.Scan(&name)
if err != nil{
log.Fatal(err)
} else {
fmt.Println(name)
}
}
Atom IDE로 해당 코드를 실행해보았다.
연결 test시 Connected 출력과 쿼리문의 결과값이 잘 출력되는 것을 볼 수 있다.
끝!
'Go 언어 (GoLang)' 카테고리의 다른 글
[Go언어] Golang과 DB연동하기 - 1. 티베로(Tibero) 서버와 연결 방법(1) (0) | 2021.05.25 |
---|