Real Alternative DBMS ALTIBASE, Since 1999 WINDOWS ADO.NET 환경의 ALTIBASE 개발가이드 2010. 09 Copyright c 2000~2013 ALTBASE Corporation. All Rights Reserved.
Document Control Change Record Date Author Change Reference 2010-09 Lim272 Created Reviews Date Name (Position) Distribution Name Location WINDOWS ADO.NET 환경의 ALTIBASE 개발가이드 2 page of 11
목차 개요... 4 ADO.NET 설정사항... 5 ADO.NET... 5 ADO.NET DLL 다운로드... 6 ADO.NET DLL 설치... 7 ADO.NET 개발가이드... 8 AltibaseConnection... 8 AltibaseDataReader, AltibaseCommand 를이용한날짜 / 시각가져오기... 9 AltibaseDataAdaptor 를통한 INSERT... 9 AltibaseTransaction... 10 WINDOWS ADO.NET 환경의 ALTIBASE 개발가이드 3 page of 11
개요 본문서는 WINDOWS ADO.NET 환경의 ALTIBASE 개발방법을설명한다. ALTIBASE 버전은 5.3 을기반으로하며문서를위해사용된 WINDOWS 의버전은 XP 이다. WINDOWS ADO.NET 환경의 ALTIBASE 개발가이드 4 page of 11
ADO.NET 설정사항 개발하기전에먼저 ADO.NET 에대해간략히설명한후 WINDOWS ADO.NET 환경의 ALTIBASE 응용프로그램개발을위한 Altibase.Data.AltibaseClient.dll 을다운로드받고설치하는방법들에대해설명한다. ADO.NET ADO.NET 은 OLEDB, ODBC 를통해연결되는데이터소스뿐아니라 XML 과같은데이터소스에대한일관성있는접근을제공하기위해고안된방법을의미한다. ADO.NET 의구성요소는크게.NET Framework Data Provider 와 DataSet 으로나눌수있으며 ALTIBASE 는이중.NET Frmaework Data Provider 와관련된것을제공하는것이라보면된다. 구성요소.NET Framework Data Provider DataSet 설명 데이터의조작및고속데이터접근을위해디자인된구성요소 데이터소스에상관없이데이터에접근할수있게디자인된구성요소.NET Framework Data Provider 의세부적인구성요소는아래와같다..NET Framework Data Provider 구성요소 Connection Command Transaction Parameter DataReader DataAdapter SelectCommand InsertCommand UpdateCommand DeleteCommand 클래스 Connection Command DataReader DataAdapter 설명데이터소스에대한연결을제공하는역할연결된 DB에질의를수행하는역할연결된 DB에서레코드를읽어들이는역할 DataSet객체에데이터를채우는역할 뒤에소개할소스예제에서는 ALTIBASE 에서제공하는 Connection, Command, DataReader, DataAdapter 등에대한간략한사용예를설명하고있다. WINDOWS ADO.NET 환경의 ALTIBASE 개발가이드 5 page of 11
ADO.NET DLL 다운로드 http://atc.altibase.com 에접속하여 제품다운로드 LIBRARY 부분으로이동하면 ADO.NET DLL 압축파일을내려받을수있다. 만일, 서버패키지와동일한버전을얻고자할경우는 CLIENT 부분에서동일한버전을사용하면된다. ( 웹사이트에없는이전버전인경우 support@altibase.com 으로문의하도록한다.) ( 본문서의작성시점에는 altiadonet5.3.3.12.zip 파일이최신으로업로드되어있다.) WINDOWS ADO.NET 환경의 ALTIBASE 개발가이드 6 page of 11
ADO.NET DLL 설치 처음설치할경우라면 WINDOWS CLIENT 패키지를다운로드받아설치하도록한다. 설치파일에서는별도의복잡한진행과정이없어본문서에서는별도로설명하지않는다. 일반적으로패키지를설치했거나또는, 압축파일해제후 Altibase.Data.AltibaseClient.dll 과 odbccli_sl.dll 이라는파일을확인할수있다. ( 설치시 %ALTIBASE_HOME%/lib 에위치 ) 개발프로젝트속성의참조부분에는 Altibase.Data.AltibaseClient.dll을추가하도록하고 odbccli_sl.dll은동적라이브러리경로에포함되도록한다. (ALTIBASE의 ADO.NET 라이브러리는반드시 odbccli_sl.dll파일을필요로한다.) WINDOWS ADO.NET 환경의 ALTIBASE 개발가이드 7 page of 11
ADO.NET 개발가이드 ADO.NET 환경에서 ALTIBASE 에접속할경우의각 Class 들의예제를설명한다. 사용된코드는 ADO.NET 환경에서많이사용되는 Visual C# 을기준으로설명한다. AltibaseConnection AltibaseConnection 은다음과같이사용한다. using System.Collections.Generic; using System.Linq; using System.Text; using Altibase.Data.AltibaseClient; namespace ConsoleApplication1 class Program static void Main(string[] args) String connstr = "DSN=192.168.1.35;uid=sys;pwd=manager;NLS_ USE=MS949;PORT=20300"; AltibaseConnection cn = new AltibaseConnection(connStr); try cn.open(); Console.WriteLine(" 정상적으로연결됨 \n"); catch (AltibaseException e) Console.WriteLine(e.Message); Console.ReadLine(); 접속정보로사용되는항목들은다음과같다. 접속정보구성항목 DSN UID PWD PORT 설명 ALTIBASE DB서버가위치한물리적인 IP주소 DB계정명 DB계정의패스워드 ALTIBASE의 Listen Port번호 NLS_USE 다국어처리를위한문자셋 (DB 생성시사용한문자셋 ) WINDOWS ADO.NET 환경의 ALTIBASE 개발가이드 8 page of 11
AltibaseDataReader, AltibaseCommand 를이용한날짜 / 시각가져오기 Command 와 DataReader 객체를통한날짜 / 시각을가져오는예제이다. AltibaseCommand cm; AltibaseDataReader dr; try cn.open(); Console.WriteLine(" 정상적으로연결됨 \n"); cm = new AltibaseCommand(); cm.connection = cn; cm.commandtext = "Select to_char(sysdate, 'yyyy-mm-dd hh:mi:ss') from dual"; dr = cm.executereader(); while (dr.read()) Console.WriteLine(dr.GetString(0)); catch (AltibaseException e) Console.WriteLine(e.Message); AltibaseDataAdaptor 를통한 INSERT AltibaseDataAdaptor 를통한 INSERT 예제를설명한다. AltibaseConnection cn = new AltibaseConnection(connStr); AltibaseDataAdapter da = new AltibaseDataAdapter(); try cn.open(); Console.WriteLine(" 정상적으로연결됨 \n"); da.insertcommand = new AltibaseCommand("INSERT INTO T1 VALUES (?,?)", cn); DataTable t1 = new DataTable(); DataRow r1 = null; t1.columns.add(new DataColumn("C1", typeof(string))); t1.columns.add(new DataColumn("C2", typeof(int))); WINDOWS ADO.NET 환경의 ALTIBASE 개발가이드 9 page of 11
da.insertcommand.parameters.add(da.insertcommand.createparameter ()); da.insertcommand.parameters[0].sourcecolumn = "C1"; da.insertcommand.parameters.add(da.insertcommand.createparamete r()); da.insertcommand.parameters[1].sourcecolumn = "C2"; r1 = t1.newrow(); r1.itemarray = new Object[] "hong gi dong", 23; t1.rows.add(r1); da.update(t1); AltibaseTransaction AltibaseTranaction 의예제는다음과같다. AltibaseCommand cm = new AltibaseCommand(); AltibaseTransaction tx = null; try cn.open(); tx = cn.begintransaction(); catch (AltibaseException e1) Console.WriteLine(e1.Message); try cm.connection = cn; cm.commandtext = "insert into t1 values ('viliad', 30)"; cm.executenonquery(); tx.commit(); catch (AltibaseException e2) tx.rollback(); Console.WriteLine(e2.Message); WINDOWS ADO.NET 환경의 ALTIBASE 개발가이드 10 page of 11
알티베이스 서울특별시구로구구로 3 동 182-13 대륭포스트 2 차 1008 호 02-2082-1000 http://www.altibase.com 대전사무소대전광역시서구둔산동 921 주은리더스텔 901 호 042-489-0330 기술지원본부서울특별시구로구구로 3 동 182-13 대륭포스트 2 차 908 호 02-2082-1000 기술지원센터 02-2082-1114 http://support.altibase.com Copyright c 2000~2013 ALTIBASE Corporation. All Rights Reserved. 이문서는정보제공을목적으로제공되며, 사전에예고없이변경될수있습니다. 이문서는오류가있을수있으며, 상업적또는특정목적에부합하는명시적, 묵시적인책임이일체없습니다. 이문서에포함된 ALTIBASE 제품의특징이나기능의개발, 발표등의시기는 ALTIBASE 재량입니다. ALTIBASE는이문서에대하여관련된특허권, 상표권, 저작권또는기타지적재산권을보유할수있습니다. WINDOWS ADO.NET 환경의 ALTIBASE 개발가이드 11 page of 11