[닷넷ADO.NET]ODP.NET, ODAC설치 및 간단 DB접속예제
1. ODAC는 아래 URL에서 다운 받자.
http://www.oracle.com/technetwork/topics/dotnet/downloads/index.html 에서 다운로드 후 압축풀고 설치
주의 : 자신의 오라클 버전에 맞는것을 다운로드 해야 한다.
설치시 ORACLE_BASE(오라클 소프트웨어의 베이스폴더, 사용자 계정이 a이면 c:\app\a) 및 ORACLE_HOME(저의경우, c:\app\A\product\11.2.0\dbhome_1) 디렉토리를 지정해야 하니 알고 있자.
2. 간단한 C# 콘솔 응용 프로그램 작성
먼저 Visual studio 우측 reference에서 Oracle.DataAccess를 참조 추가하자.
그리고 오라클에서 원격의 DB를 접속하려면 오라클홈\network\admin(c:\app\A\product\11.2.0\dbhome_1\NETWORK\ADMIN)의 tnsnames.ora 파일에 접속하고자 하는 DB명칭(tns이름)이 있어야 한다. 그 이름을 접속문자열의 data source 에 넣어주면 된다.
--------- tnsnames.ora
onJ =
(DEscRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.7)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = onj) ) )
---------------------------
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 |
| 12-27 | 2801 | |||
| 12-11 | 2036 | |||
| 53 | 03-15 | 1854 | ||
| 52 | 01-31 | 2012 | ||
| 51 | 01-31 | 2972 | ||
| 50 | 01-31 | 1554 | ||
| 49 | 01-19 | 1874 | ||
| 48 | 01-11 | 1747 | ||
| 47 | 01-03 | 2320 | ||
| 46 | 12-27 | 2801 | ||
| 45 | 12-19 | 1962 | ||
| 44 | 12-14 | 1944 | ||
| 43 | 12-11 | 2036 | ||
| 42 | 12-09 | 1583 | ||
| 41 | 12-01 | 1809 | ||
| 40 | 12-01 | 2030 | ||
| 39 | 12-01 | 1458 | ||
댓글 없음:
댓글 쓰기