2017년 1월 3일 화요일

[닷넷교육,C#교육,실무교육학원추천_탑크리에듀][C#,ADO.NET에서 ORACLE접속하기,ODP.NET,ODAC설치]

[C#,ADO.NET에서 ORACLE접속하기,ODP.NET,ODAC설치]

1. ODP.NET을 다운받자.
    적당히 오라클버전에 맞는것을 선택해서 다운받자.
    32-bit Oracle Data Access Components (ODAC) with Oracle Developer Tools for Visual Studio

설치하자.   


2. C: 또는 D: 아래 app\Administrator\product\11.2.0\client_1\NETWORK\ADMIN\SAMPLE
아래의 tnsname.ora 파일을 복사해서 한단계위 ADMIN 폴더에 복사 후 아래처럼 수정하자.

// on는 tnsname이다. C#등에서 DB접속문자열 쓸대 data source에 써주는 이름
onj =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <DB IP주소>)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = onj)   -- DB 서비스이름(DB명)
    )
  )


3. 간단히 C# 프로그램하나 짜서 접속을 테스트 해보자.

using System; 
using System.Data; 
using Oracle.DataAccess; 
using Oracle.DataAccess.Client; 
using Oracle.DataAccess.Types;

namespace ConsoleApplication7
{
    class Program
    {
        
         static void Main(string[] args)   
         {    
            //아래에서 data source의 onj는 tnsnames.ora 파일의 DB접속이름이다.

            string str = "data source=onj;user id=scott; password=tiger";
            OracleConnection Conn = new OracleConnection(str);  
            OracleCommand Comm;   
            Comm = new OracleCommand();
            Comm.Connection = Conn;
            try        
            {             
                Conn.Open();             
                Comm.CommandText = "SELECT ENAME FROM EMP";
                OracleDataReader reader = Comm.ExecuteReader();
                while (reader.Read())        
                {      
                    Console.WriteLine(reader.GetString(reader.GetOrdinal("ENAME")));     
                }         
            }         
            catch (Exception ex)         
            {             
                Console.WriteLine(ex.ToString());         
            }         
            finally        
            {             
                Conn.Close();         
            }     
         }
    }
}

[결과]
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER


아래는 간단히 접속만 확인하는 예제


using System; 
using Oracle.DataAccess.Client; 

class Example 
{ 
  OracleConnection con; 

  void Connect() 
  { 
    con = new OracleConnection(); 
    con.ConnectionString = "User Id=scott;Password=tiger;Data Source=onj"; 
    con.Open(); 
    Console.WriteLine("오라클 접속 OK"); 
  } 

  void Close() 
  { 
    con.Close(); 
    con.Dispose(); 
  } 
  
  static void Main() 
  { 
    Example example = new Example(); 
    example.Connect(); 
    example.Close(); 
  } 
} 

댓글 없음:

댓글 쓰기