[닷넷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 |
댓글 없음:
댓글 쓰기