성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] 한 번도 궁금한 적이 없었는데, If I mark my t...
[정성태] 그냥 RSS Reader 기능과 약간의 UI 편의성 때문에 사용...
[이종효] 오래된 소프트웨어는 보안 위협이 되기도 합니다. 혹시 어떤 기능...
[정성태] @Keystroke IEEE의 문서를 소개해 주시다니... +_...
[손민수 (Keystroke)] 괜히 듀얼채널 구성할 때 한번에 같은 제품 사라고 하는 것이 아...
[정성태] 전각(Full-width)/반각(Half-width) 기능을 토...
[정성태] Vector에 대한 내용은 없습니다. Vector가 닷넷 BCL...
[orion] 글 읽고 찾아보니 디자인 타임에는 InitializeCompon...
[orion] 연휴 전에 재현 프로젝트 올리자 생각해 놓고 여의치 않아서 못 ...
[정성태] 아래의 글에 정리했으니 참고하세요. C# - Typed D...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
제니퍼 .NET
닷넷
COM 개체 관련
스크립트
VC++
VS.NET IDE
Windows
Team Foundation Server
디버깅 기술
오류 유형
개발 환경 구성
웹
기타
Linux
Java
DDK
Math
Phone
Graphics
사물인터넷
부모글 보이기/감추기
내용
<div style='display: inline'> <div style='font-family: 맑은 고딕, Consolas; font-size: 20pt; color: #006699; text-align: center; font-weight: bold'>.NET 응용 프로그램에서 Oracle XE 사용</div><br /> <br /> 오호...오라클에도 경량화된 버전이 있군요. 쉽게 이야기하자면, SQL Server Express 버전에 해당하는 것이 바로 "Oracle XE"입니다.(사실, XE가 Express Edition의 약자죠) 다음의 경로에서 다운로드 할 수 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; width: 800px; background-color: #fbedbb; overflow-x: scroll; font-family: Consolas, Verdana;' > Oracle Database 10g Express Edition Downloads ; <a target='_tab' href='http://www.oracle.com/technology/software/products/database/xe/index.html'>http://www.oracle.com/technology/software/products/database/xe/index.html</a> </pre> <br /> 제약 사항도 나름 비슷한 면이 있는데, 결정적으로 Oracle XE 버전도 최대 4GB의 사용자 데이터베이스 용량만을 허용하고 있다는 것!<br /> <br /> 설치까지도 SQL Server Express만큼이나 쉽습니다. 하지만, 관리 방식은 "SQL Server Management Studio" 수준을 기대하시면 안되고, 대신에 웹 사이트가 제공됩니다. 설치된 PC에서 "<a target='_tab' href='http://127.0.0.1'>http://127.0.0.1</a>:8080/apex/" 주소로 웹 브라우저를 이용하여 방문하면 다음과 같이 웹 관리 페이지가 나옵니다.<br /> <br /> <a name='apex'></a> [그림 1: Oracle XE 웹 관리 화면]<br /> <img alt='how_to_use_oracle_xe_1.png' src='/SysWebRes/bbs/how_to_use_oracle_xe_1.png' /><br /> <br /> 테스트를 위해 Oracle XE에 내장된 예제 데이터베이스를 사용하고 싶다면 "hr" 계정을 활성화 시켜야 합니다. 관리 페이지에서 SYSTEM 계정으로 로그인하고, "관리 / 데이터베이스 사용자" 메뉴로 가면 "HR" 계정을 볼 수 있는데 아이콘 버튼을 누른 후, 다음과 같이 "잠김 해제됨"으로 바꾸고 "사용자 변경" 버튼을 누르면 반영됩니다.<br /> <br /> [그림 2: hr 계정 활성]<br /> <img alt='how_to_use_oracle_xe_2.png' src='/SysWebRes/bbs/how_to_use_oracle_xe_2.png' /><br /> <br /> 활성화 되긴 했지만 해당 계정이 "암호가 만기됨" 상태이기 때문에 반드시 로그아웃을 하고 "hr" 계정으로 한번이라도 로그인을 해줘야 합니다.<br /> <br /> 참고로, tnsnames.ora / listener.ora 파일은 다음의 경로에서 찾을 수 있습니다.<br /> <br /> <SPAN style='BACKGROUND-COLOR: #ccffcc; FONT-STYLE: italic; MARGIN: 10px 0px 10px 10px; WIDTH: 800px; FONT-FAMILY: 맑은 고딕, Consolas, Verdana; COLOR: #005555'><br /> ...[XE설치 폴더]...\app\oracle\product\10.2.0\server\NETWORK\ADMIN</span><br /> <br /><br /> <br /> tnsnames.ora 파일을 보면, 기본적으로 "XE"가 등록된 것을 확인할 수 있습니다.<br /> <br /> <hr style='width: 50%' /><br /> <br /> 자, 이제 예제 DB까지 준비가 되었으니 .NET 응용 프로그램에서 접근을 해야 할텐데요. 구체적인 방법에 대해서는 친절하게도 Oracle 홈페이지에 공개가 되어 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; width: 800px; background-color: #fbedbb; overflow-x: scroll; font-family: Consolas, Verdana;' > Getting Started with Oracle Data Provider for .NET (C# Version) ; <a target='_tab' href='http://www.oracle.com/technology/obe/hol08/dotnet/getstarted-c/getstarted_c_otn.htm'>http://www.oracle.com/technology/obe/hol08/dotnet/getstarted-c/getstarted_c_otn.htm</a> </pre> <br /> 이 문서에 따라서, 첫번째로 ODP.NET을 설치해야 합니다. 다음의 경로에서 최신 ODP.NET 버전을 다운로드 할 수 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; width: 800px; background-color: #fbedbb; overflow-x: scroll; font-family: Consolas, Verdana;' > Oracle Data Access Components (ODAC) Downloads ; <a target='_tab' href='http://www.oracle.com/technology/software/tech/windows/odpnet/index.html'>http://www.oracle.com/technology/software/tech/windows/odpnet/index.html</a> 64-bit Oracle Data Access Components (ODAC) Downloads ; <a target='_tab' href='http://www.oracle.com/technology/software/tech/windows/odpnet/64-bit/index.html'>http://www.oracle.com/technology/software/tech/windows/odpnet/64-bit/index.html</a> </pre> <br /> 오호, 설치 버전뿐만 아니라 단순히 Xcopy로 배포하는 버전도 있습니다. 그래서 저는 다음의 버전을 다운로드했습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; width: 800px; background-color: #fbedbb; overflow-x: scroll; font-family: Consolas, Verdana;' > Oracle 11g ODAC 11.1.0.7.20 with Xcopy Deployment ; <a target='_tab' href='http://www.oracle.com/technology/software/htdocs/distlic.html?url=/technology/software/tech/windows/odpnet/utilsoft.html'>http://www.oracle.com/technology/software/htdocs/distlic.html?url=/technology/software/tech/windows/odpnet/utilsoft.html</a> </pre> <br /> 압축을 해제한 폴더의 readme.txt 파일을 보면 다음과 같은 7가지의 설치 방법이 있다고 나오는 데,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; width: 800px; background-color: #fbedbb; overflow-x: scroll; font-family: Consolas, Verdana;' > a) instantclient_11_1 - Oracle Instant Client b) ODP.NET1x - Oracle Data Provider for .NET 1.x c) ODP.NET20 - Oracle Data Provider for .NET 2.0 d) ASP.NET - Oracle Providers for ASP.NET e) OLEDB - Oracle Provider for OLEDB f) OO4O - Oracle Objects for OLE g) OraMTS - Oracle Services for MTS </pre> <br /> 저는 일단, "ODP.NET20"만이 필요해서 다음과 같이 설치를 시작했습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; width: 800px; background-color: #fbedbb; overflow-x: scroll; font-family: Consolas, Verdana;' > E:\...[압축해제폴더]>install.bat <b style='COLOR: blue'>odp.net20 E:\oracle\odpnet20</b> odac </pre> <br /> 명령 실행 후, 지정된 "E:\oracle\odpnet20" 폴더가 생성된 것을 확인할 수 있습니다. 이제, "PATH" 환경 변수에 ODP.NET20이 설치된 폴더를 등록합니다. <br /> <br /> [그림 3: PATH 환경 변수에 ODP.NET20 설치 폴더 등록]<br /> <img alt='how_to_use_oracle_xe_3.png' src='/SysWebRes/bbs/how_to_use_oracle_xe_3.png' /><br /> <br /> 예를 들어, 위에서 설정한 대로라면 다음과 같이 구성되어 있어야 합니다.<br /> <br /> <SPAN style='BACKGROUND-COLOR: #ccffcc; FONT-STYLE: italic; MARGIN: 10px 0px 10px 10px; WIDTH: 800px; FONT-FAMILY: 맑은 고딕, Consolas, Verdana; COLOR: #005555'><br /> PATH=...[이전PATH경로]...<b style='COLOR: blue'>;E:\oracle\odpnet20;E:\oracle\odpnet20\bin</b></span><br /> <br /><br /> <br /> 이제, 간단한 C# 콘솔 응용 프로그램 프로젝트를 만들고, "E:\oracle\odpnet20\odp.net\bin\2.x" 폴더에 있는 "Oracle.DataAccess.dll"을 참조한 후, 다음과 같이 간단한 테스트 코드를 추가합니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; width: 800px; background-color: #fbedbb; overflow-x: scroll; font-family: Consolas, Verdana;' > using System; using System.Collections.Generic; using System.Linq; using System.Text; <b style='COLOR: blue'>using Oracle.DataAccess.Client; using System.Data;</b> namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string oradb = "<b style='COLOR: blue'>user id=hr;password=hr; data source=svrname:1521/XE</b>"; OracleConnection conn = new OracleConnection(oradb); conn.Open(); OracleCommand cmd = new OracleCommand(); cmd.Connection = conn; cmd.CommandText = "select department_name from departments"; cmd.CommandType = CommandType.Text; OracleDataReader dr = cmd.ExecuteReader(); dr.Read(); string txt = dr.GetString(0); Console.WriteLine(txt); conn.Dispose(); } } } </pre> <br /> 연결문자열의 구성 규칙은 간단합니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; width: 800px; background-color: #fbedbb; overflow-x: scroll; font-family: Consolas, Verdana;' > user id: 사용자 계정 password: 사용자 암호 data source: Oracle XE가 설치된 서버명 또는 IP:포트번호/TNS 명 </pre> <br /> TNS 명을 생략해서 "user id=hr;password=hr; data source=svrname:1521"와 같이 준다면 XE 서버의 "listener.ora" 파일에 "DEFAULT_SERVICE_LISTENER"로 지정된 TNS 이름이 사용됩니다. 아울러 포트 역시 굳이 바꾸지 않았다면 지정해 줄 필요없고,,, 그래서 간략하게는 다음과 같이 연결문자열을 구성할 수 있습니다.<br /> <br /> <SPAN style='BACKGROUND-COLOR: #ccffcc; FONT-STYLE: italic; MARGIN: 10px 0px 10px 10px; WIDTH: 800px; FONT-FAMILY: 맑은 고딕, Consolas, Verdana; COLOR: #005555'><br /> string oradb = "<b style='COLOR: blue'>user id=hr;password=hr; data source=svrname</b>";</span><br /> <br /><br /> <br /><br /><hr /><span style='color: Maroon'>[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]</span> </div>
첨부파일
스팸 방지용 인증 번호
1785
(왼쪽의 숫자를 입력해야 합니다.)