C#,Delphi,Oracle,MSSQL 개발자블로그

C# - Oracle DB 연결하기.(ODP.NET이용) 본문

Programming/C#

C# - Oracle DB 연결하기.(ODP.NET이용)

19760323 2017. 6. 8. 18:32

dbConTest.zip

 

C#과 오라클을 연동하는 방법에는 여러가지가 있지만, 본 글에서는 ODAC를 이용하는 방법을 소개한다.

ODAC는 오라클 홈페이지에서 별도로 다운을 받아야 한다.

다운받게되면, 비주얼 스튜디오에서 Oracle.DataAccess.dll 을 참조할 수 있다.

 

 

 

참조를 걸었으면, dll을 사용하기 위해서, Oracle.DataAccess.Client를 using 걸어준다.

 

 

[select 할 DB]

 

위의 테이블에서, DNAME 컬럼에 있는 ACCOUNTING을 SELECT 하는 것을 테스트 한다.

 

[소스]

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Oracle.DataAccess.Client;

namespace dbConTest
{
    public partial class Form1 : Form
    {
        string connect_info = "DATA SOURCE = orcl; User Id = LIME; Password = 1234";
        OracleConnection conn;
        OracleCommand cmd;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            conn = new OracleConnection(connect_info);
            cmd = new OracleCommand();
            conn.Open();
            cmd.Connection = conn;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();
            string SQL = "SELECT dname FROM LIME.dept WHERE rownum < 2";
            OracleDataAdapter ad = new OracleDataAdapter();
            ad.SelectCommand = new OracleCommand(SQL, conn);
            ad.Fill(ds,"test");

            MessageBox.Show(ds.Tables["test"].Rows[0][0].ToString());

            conn.Close();
        }

       
    }
}

 

 

내 컴퓨터 PC 내에 orcl이라는 DB를 설치하고, LIME 이라는 계정을 만들어, 비밀번호를 1234로 설정하고 접속하여 SELECT 하는 것을 테스트

해본 것이다.

 

[16번째 줄]

 

DB에 접속하기 위해서는, Data Source와, 접속한 유저ID(스키마), 패스워드 총 3가지가 필요하다.

 

위의 예는, 미리 tnsnames.ora 파일에 설정해 놓은 orcl 이라는 서비스 네임(DB이름)으로 들어간 것이다.

 

tnsnames.ora 파일은, 오라클 클라이언트 설치 드라이브-> app 또는 oracle 폴더 (10g는 oracle폴더이고, 11g는 app폴더임)

   -> 컴퓨터 로그인계정명(또는 바로 product폴더가 있을 수도 있음.)

   -> product폴더

   -> 오라클 버젼 폴더

   -> client_x 폴더 (x는 설치된 오라클클라이언트 갯수에 따라 1,2,3,,,순임.)

   ->Network 폴더

   -> Admin 폴더안에 있다.

* 이 때, 주의할 점은 클라이언트를 최초 설치시 Instant Client로 설치하면 이 경로로 접근할 수 없다.

  설치시, 관리자모드로 설치해야만 들어갈 수 있다.

  오라클 클라이언트 설치 관련 : http://lena19760323.tistory.com/5

 

정상적으로 위의 경로로 들어가면 tnsnames.ora 라는 폴더가 있는데, 열어 보면 아래와 비슷한 포맷의 화면이 나온다.

 

 

설명하자면,

 

[LIME]

SID라고 한다. 위 소스에서

[PROTOCOL]

사용 프로토콜이다. 오라클은 TCP를 쓰면 된다.

[HOST]

접속할 DB의 IP가 들어가는 자리이다. locallhost는 내 컴퓨터를 말한다.

[PORT]

TCP를 사용하는 오라클 포트는 1521이다.

[SERVER = DEDICATED]

웹 서버, 소프트웨어등을 임대하여 전용으로 사용 하는 서버

[SERVOCE_NAME]

여러 개의 인스턴스를 모아 하나의 서버를 구성한 것.

 

 

 

 

 

 

 

 

 

Comments