본문으로 바로가기

VB6 Oracle Client 설치후 DB 접속 방법

category IT정보공유 2019.01.23 14:24

VB6에서 데이터베이스에 접속 할 수 있는 방법은 여러가지가 있습니다.

아주 구식 방식인 ODBC 데이터 원본 설정 방식으로 운영체제에서 DSN을 설정해서 접속하는 방법이 있고

ADODB 방식으로 접근하는 방식이 있는데, 흔히 많이 사용되는 ADODB.Connection 을 이용하여 

오라클 11g 데이터베이스에 접속 하는 방법을 알아보도록 하겠습니다.


오라클 데이터베이스나 오라클 클라이언트 설치 방법에 대해서는 기존에 포스팅해놓은게 있으니

참고하시기 바랍니다.


2019/01/11 - [IT/DB] - [ ORACLE ] 오라클 11g 다운로드와 설치, 그리고 로그인 기본 환경 셋팅

2019/01/18 - [IT/DB] - [ ORACLE ] 오라클 11g 클라이언트 다운로드와 설치

2019/01/19 - [IT/DB] - [ ORACLE ] 오라클 11g 데이터베이스 한글 깨짐 발생시 체크포인트


아래는 vb6 오라클 접속 테스트 샘플 코드 입니다.


Public Function OracleDBConnect() As Boolean    
    Dim adocn As ADODB.Connection
    Dim Cnn_Str$
    
    On Error GoTo Errcheck
    
    Set adocn = New ADODB.Connection    
    Cnn_Str = "Provider=OraOLEDB.Oracle;Data Source=ORACON;User Id=ididid; Password=pwpwpw"

    adocn.Open Cnn_Str

    CheckAvailableCarOut = True
    MsgBox "연결"
    
Errcheck:
    Dim sErr$
    sErr = "Error" & Err.Number & Err.Description
    CheckAvailableCarOut = False
	MsgBox "연결실패"
    
End Function



VB6에서 오라클로 접속할 때 가장 중요한게 Cnn_Str 에 설정된 컨넥션 스트링입니다.

이게 인터넷을 찾아보면 저마다 다른 방식으로 접속을 하다보니 햇갈릴 수 있는데 컨넥션 스트링을 잘 설정하셔야 합니다.


Provider=OraOLEDB.Oracle;Data Source=ORACON;User Id=ididid; Password=pwpwpw


오라클 클라이언트를 이용하여 접속 할때는 반드시 Provider=OraOLEDB.Oracle 로 지정하고

Data Source=ORACON 은 tnsname.ora에 설정된 이름으로 지정해 주면 됩니다.


기타 ODBC를 이용할때나 다른 방식이라면 문구가 달라집니다.

Provider=MSDAORA 등, DRIVER={Microsoft ODBC for Oracle} 등..


# 오라클에 설정된 tnsnames.ora
# tnsnames.ora Network Configuration File: D:\app\xxx\product\11.2.0\client_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

ORACON =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = XEXDB)
    )
  )



처음 오라클 클라이언트 설치 하면 설치경로\network\admin\ 폴더에 tnsnames.ora 파일이 없으니

텍스트 파일로 tnsnames.ora 파일 만들고 위 내용 복사한 후, 

오라클 DB Service_name과 DB IP, Port 만 맞춰주면 됩니다.


Oracle configuration tools을 사용하셔도 됩니다.



♡ 여러분의 공감이 빅에너지에게 에너지원입니다. 공감, 좋아요 부탁합니다~ 



댓글을 달아 주세요