64비트에서는 32비트에서 사용했던 MSDAORA 라는 프로바이더는 사용할 수가 없다.
1. 오라클 클라이언트를 설치
다음 URL에서 64비트 오라클 클라이언트 11g용을 받자.
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html
2. 오라클 클라이언트를 D드라이브에 설치했다면 아래처럼 오라클홈 디렉토리가 형성될 것이다.
D:\app\ooo\product\11.2.0\client_1
그아래 Network\Admin 폴더에 아래 내용으로 tnsnames.ora 파일을 만들자.
ONJ =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS=(PROTOCOL=TCP)(HOST = 192.168.0.27)(PORT=1521))
)
(CONNECT_DATA =
(SERVICE_NAME = onj)
)
)
3. C# 소스
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.OleDb;
namespace ConsoleApplication20
{
class Program
{
static void Main(string[] args)
{
OleDbConnection myOleDbConnection =
new OleDbConnection("Provider=ORAOLEDB.ORACLE;data source=onj;User ID=scott;Password=tiger");
OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand();
//CommendText에 직접 테이블 명을 기술하겠다는 의미
myOleDbCommand.CommandType = CommandType.TableDirect;
myOleDbCommand.CommandText = "EMP"; //테이블명이다.
myOleDbConnection.Open();
OleDbDataReader myOleDbDataReader = myOleDbCommand.ExecuteReader();
//전체 EMP 테이블의 데이터중 2건만 출력하자.
for (int count = 1; count <= 2; count++)
{
myOleDbDataReader.Read();
Console.WriteLine("myOleDbDataReader[\" EMPNO\"] = " + myOleDbDataReader["EMPNO"]);
Console.WriteLine("myOleDbDataReader[\" ENAME\"] = " + myOleDbDataReader["ENAME"]);
Console.WriteLine("myOleDbDataReader[\" SAL\"] = " + myOleDbDataReader["SAL"]);
}
myOleDbDataReader.Close();
myOleDbConnection.Close();
}
}
}
댓글 없음:
댓글 쓰기