<Documents Title Here>

Similar documents
Slide 1

Oracle Lite Tutorial

Oracle Lite Tutorial

Oracle Lite Tutorial

橡実践Oracle Objects for OLE

untitled

Oracle Developer Days

以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらな

(OnePoint) ( URL Web Copyright 2005 Microsoft Corporation. All rights reserved. MicrosoftWindowsVisual Basic Visual Studio Microsoft Corporation

Windowsユーザーの為のOracle Database セキュリティ入門

Visual Basic Oracle Database 11 Release 1

Microsoft PowerPoint - doc15409.ppt

NetCOBOL for .NET 応用編

(OnePoint) ( URL Web Copyright 2005 Microsoft Corporation. All rights reserved. Microsoft Windows Visual Basic Visual Studio Microsoft Corporation

untitled

Visual Studio Oracle Database 11g アプリケーション開発入門

untitled

Oracle on Windows

<Documents Title Here>

いまさら聞けないVB2008 ADO.NET超入門

Microsoft Word - DotNet_SmartClient_Final.doc

Microsoft Word - oo4o_extra.doc

NetCOBOL for .NET 応用編


DAOの利用

橡ExCtrlPDF.PDF

Microsoft Word - dotnet_aspdotnet.doc

FileMaker Oracle Microsoft SQL Server MySQL Salesforce.com ROI TCO RAD IT FileMaker Pro RAD RAD TCO RAD Microsoft Visual Studio 2008 Oracle Developer

日本オラクル株式会社

CAC

目次 更新履歴... 1 はじめに... 3 レコードセット?... 3 準備... 5 SQL でデータを取得する... 6 データのループ処理... 7 列の値を取得する... 7 対象行を変更する (MoveFirst, MoveNext, MovePrevious, MoveLast)...

J2EEとMicrosoft.NETの比較

FileMaker Server Getting Started Guide

_02_3.ppt

PowerPoint -O80_REP.PDF

Microsoft Word - 430_15_Developing_Stored_Procedure.doc

意外と簡単!? Oracle Database 11g -バックアップ・リカバリ編-

BC4J...4 BC4J Association JSP BC4J JSP OC4J

以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらな

untitled

ADO.NETのアーキテクチャ

MVP for VB が語る C# 入門

_02-4.ppt

FileMaker Server Getting Started Guide

ストラドプロシージャの呼び出し方

TopLink È... 3 TopLink...5 TopLink åø... 6 TopLink å Workbench O/R ~... 8 Workbench À ~... 8 Foundation Library å... 8 TopL

mySQLの利用

Windows Oracle -Web - Copyright Oracle Corporation Japan, All rights reserved.

外部SQLソース入門

IBM Software Group DB2 Information Management Software DB2 V8 XML SQL/XML 2 XML XML UDF XMLExtender XML XML XMLCollection, XMLColumn XML UDF Informati

~~~~~~~~~~~~~~~~~~ wait Call CPU time 1, latch: library cache 7, latch: library cache lock 4, job scheduler co

FileMaker Server 9 Getting Started Guide

Oracle Web Conferencing Oracle Collaboration Suite 2 (9.0.4) Creation Date: May 14, 2003 Last Update: Jan 21, 2005 Version: 1.21

Oracle Change Management Pack, Oracle Diagnostics Pack, Oracle Tuning Packインストレーション・ガイド リリース2.2

C3印刷用.PDF

FileMaker Server Getting Started Guide

Oracle Fail Safe For Windows NT and Windows 2000 リリース・ノート、リリース 3.1.2

Oracle Corporation

Oracle9i: Microsoft .NETによる開発

1 SQL Server SQL Oracle SQL SQL* Plus PL/SQL 2 SQL Server SQL Server SQL Oracle SQL SQL*Plus SQL Server GUI 1-1 osql 1-1 Transact- SQL SELECTFROM 058

FileMaker ODBC and JDBC Guide

領域サイズの見積方法

IP RFID RFID IP RFID IP RFID IP RFID IP RFID IP RFID RFID RFID RFID RFID RFID POS IP RFID i

Transcription:

!?.NET Oracle -.NET with ODP.NET - oo4o ODP.NET Creation Date: Aug. 3, 2004 Last Update: Sep 28, 2004 Version: 1.0

oo4o ODP.NET Document Control Internal Use Only Author Hiroshi Ota Change Logs Date Author Version Change Log Aug. 3, 2004 Hiroshi Ota Created. Reviewers Name Position Approvals <Approver 1> <Approver 2> Distribution Copy No. Name Location!?.NET Oracle oo4o ODP.NET 2

oo4o ODP.NET!?.NET Oracle Microsoft Visual Studio.NET Oracle10g.NET!?.NET Oracle Oracle Data Provider for.net Visual Basic.NET oo4o(oracle Objects for OLE) ODP.NET Visual Basic( ) oo4o.net!?.net Oracle.NET!?.NET Oracle 1. 2. Web ASP.NET 3. oo4o(oracle Objects for OLE) ODP.NET!?.NET Oracle oo4o ODP.NET 7 1. ODP.NET 2. oo4o ODP.NET 3. oo4o ODP.NET 4. 5. PL/SQL 6. 7. ADO!?.NET Oracle oo4o ODP.NET 3

oo4o ODP.NET!?.NET Oracle OS Microsoft Windows 2000 Professional + SP4 RDBMS Oracle Database 10g Standard Edition for Windows OS Microsoft Windows 2003 Enterprise AP Microsoft Internet Information Services 6.0 OS Microsoft Windows 2000 Professional + SP4 Microsoft Visual Studio.NET 2003 Microsoft Visual Studio 6.0!?.NET Oracle oo4o ODP.NET 4

oo4o ODP.NET ODP.NET Oracle Data Provider for.net ODP.NET Microsoft.NET.NET Oracle OLE DB.NET ODBC.NET ODP.NET ODP.NET Oracle PL/SQL Oracle LOB REF CURSOR DATE Unicode Microsoft Transaction Server XML DB TAF ODP.NET.NET Framework API.NET Oracle Objects for OLE( oo4o).net Runtime Callable Wrapper( RCW) RCW COM RCW!?.NET Oracle oo4o ODP.NET 5

oo4o ODP.NET ODP.NET oo4o ODP.NET oo4o Oracle COM Oracle RCW Oracle ODP.NET oo4o.net oo4o Visual Basic.NET VB.NET Visual C#.NET Visual C++.NET oo4o ODP.NET oo4o ODP.NET Oracle ADO.NET ODP.NET ADO.NET DataAdapter DataSet Oracle Command SQL Oracle oo4o oo4o ODP.NET 3. oo4o ODP.NET Oracle SQL Oracle!?.NET Oracle oo4o ODP.NET 6

oo4o ODP.NET SQL Oracle SQL oo4o ODP.NET 2 Visual Basic ( C/S). NET ASP.NET XML WEB Windows Web C/S C/S!?.NET Oracle oo4o ODP.NET 7

oo4o ODP.NET ADO.NET ADO.NET ODP.NET oo4o OraSession CreateDatabasePool OraSessionClass OracleInProcServer Set OraSession = CreateObject("OracleInProcServer.XOraSession") Database OraDatabase OraSession.CreateDatabasePool 2, 40, 200, "ORCL", "SCOTT/TIGER", 0 ID OraDatabase Set OraDatabase = OraSession.GetDatabaseFromPool(100).1 oo4o ODP.NET Oracle User ID/Password/Data Source Imports Oracle.DataAccess.Client Imports Oracle.DataAccess.Types Public Class fmmainmenu Inherits System.Windows.Forms.Form Private Sub DbConnect() Dim conn As New OracleConnection conn.connectionstring = "Data Source=orcl;User id=scott;password=tiger" conn.open() End Sub.2 ODP.NET!?.NET Oracle oo4o ODP.NET 8

oo4o ODP.NET ODP.NET OracleConnection ConnectionString Dim conn As OracleConnection = New OracleConnection conn.connectionstring = "User Id=SCOTT;Password=TIGER; Data Source=ORCL; & _ conn.open() Pooling=True;Min Pool Size=2;Max Pool Size=50".3 ODP.NET ConnectionString ConnectionString Data Source!?.NET Oracle oo4o ODP.NET 9

oo4o ODP.NET "User Id=scott;Password=tiger;Data Source=orcl" "User Id=scott;Password=tiger;Data Source=ORCL".4 ConnectionString OTN Oracle Data Provider for.net Oracle ODP.NET oo4o tnsname.ora Oracle Data Source tnsnames.ora ORCL = (DESCRIPTION = ) (ADDRESS_LIST = ) (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(port = 1521)) (CONNECT_DATA = ) (SERVICE_NAME = orcl).5 TNSNAMES.ORA tnsnames.ora Web IIS ODP.NET tnsnames.ora Dim conn As New OracleConnection Dim sb As New System.Text.StringBuilder!?.NET Oracle oo4o ODP.NET 10

oo4o ODP.NET sb.append("user Id=scott; Password=tiger;") sb.append("data Source=(DESCRIPTION = (ADDRESS_LIST = ") sb.append("(address = (PROTOCOL = TCP)(HOST = localhost)") sb.append("(port = 1521)))(CONNECT_DATA = (SERVER = DEDICATED)") sb.append("(service_name = ORCL)));") conn.connectionstring = sb.tostring conn.open() conn.close().6 tnsname.ora ConnectionString User Id / Windows DBA Privilege SYSDBA SYSOPER Oracle Dim cnn As New OracleConnection Windows DBA Privilege SYSDBA cnn.connectionstring = "User Id=/;Data Source=orcl;DBA Privilege=SYSDBA" cnn.open() MsgBox("Connect OK!!") cnn.close().7 Oracle Dim cnn As New OracleConnection cnn.connectionstring = _ "User Id=scott;Password=tiger;Data Source=ora10g" Try cnn.open() Catch!?.NET Oracle oo4o ODP.NET 11

oo4o ODP.NET cnn.openwithnewpassword("panther") End Try.8 ODP.NET ADO.NET ADO.NET Oracle oo4o oo4o ODP.NET oo4o ODP.NET oo4o ODP.NET!?.NET Oracle oo4o ODP.NET 12

oo4o ODP.NET oo4o emp Dim OraDynaset As OraDynaset OraDynaset Set OraDynaset = _ OraDatabase.CreateDynaset("SELECT empno,ename FROM emp", ORADYN_READONLY) Do Until OraDynaset.EOF Debug.Print OraDynaset.Fields("empno").Value + " / " + _ OraDynaset.Fields("ename").Value OraDynaset.MoveNext Loop.9 oo4o ODP.NET Dim conn As New OracleConnection conn.connectionstring = _ "User ID=scott;Password=tiger;Data Source=orcl" conn.open() Dim cmd As New OracleCommand CommandText SQL cmd.connection = conn cmd.commandtext = "select empno, ename from emp" OracleCommand ExecuteReader OracleDataReader Dim rdr As OracleDataReader rdr = cmd.executereader!?.net Oracle oo4o ODP.NET 13

oo4o ODP.NET Do While rdr.read Debug.WriteLine(CStr(rdr("empno")) + " / " + _ Loop rdr("ename")) Close rdr.close() cmd.close().10 ODP.NET ( ) oo4o ODP.NET oo4o SQL OraDynaset ODP.NET OracleCommand SQL OracleDataReader Dim OraSession As Object Dim OraDatabase As Object Set OraSession = CreateObject("OracleInProcServer.XOraSession") Set OraDatabase = OraSession.OpenDatabase("orcl", "scott/tiger", &H2&) SQL OraDatabase.ExecuteSQL "update emp set ename='scott' where empno=6".11 oo4o ( ) conn.open() Dim cmd As New OracleCommand cmd.connection = conn SQL cmd.commandtext = "update emp set ename='bob' where empno=6" cmd.commandtype = CommandType.Text cmd.executenonquery().12 ODP.NET ODP.NET OracleCommand OracleCommand SQL!?.NET Oracle oo4o ODP.NET 14

oo4o ODP.NET oo4o OraDynaset Set OraDatabase = OraSession.OpenDatabase( _ "orcl", "scott/tiger", dboption.oradb_default) ssql = "SELECT * FROM MstCustomer Where CustomerId='" + TextCustomerId.Text + "'" Set OraDynaset = _ OraDatabase.CreateDynaset(sSql, ORADYN_DEFAULT) OraDynaset.Edit OraDynaset("CustomerID") = TextCustomerId.Text OraDynaset("CustomerNAME") = TextCustomerName.Text OraDynaset("EmployeeNAME") = TextEmployeeName.Text OraDynaset("kana") = TextKana.Text OraDynaset("job") = TextJob.Text OraDynaset("postcode") = TextPostCode.Text OraDynaset("prefectures") = ComboPrefectures.Text OraDynaset("address") = TextAddress.Text OraDynaset("tel") = TextTel.Text OraDynaset("fax") = TextFax.Text OraDynaset("note") = TextNote.Text OraDynaset.Update.13 oo4o ( ) ODP.NET OracleDataReader ODP.NET ODP.NET!?.NET Oracle oo4o ODP.NET 15

oo4o ODP.NET OracleDataAdapter DataSet oo4o OracleDataAdapter DataSet ODP.NET Dim cnn As New OracleConnection Dim cmd As New OracleCommand Dim dslist As New DataSet Dim icnt As Integer cnn.connectionstring = _ "user id=scott;password=tiger;data source=orcl" cmd.connection = cnn DataAdapter DataSet cmd.commandtext = "Select * from emp" Dim adp As New OracleDataAdapter(cmd) adp.fill(dslist, "EmpList") DataSet With dslist.tables("emplist") For icnt = 0 To.Rows.Count - 1 Next Debug.WriteLine(CStr(.Rows(iCnt).Item("empno")) + " / " + _.Rows(iCnt).Item("ename"))!?.NET Oracle oo4o ODP.NET 16

oo4o ODP.NET End With.14 ODP.NET ( ) DataSet OracleDataAdapter Fill DataSet Oracle OracleDataAdapter Update.14 ODP.NET ( ) OracleDataAdapter Fill Update DataSet Oracle SQL DataSet OracleDataAdapter Update Oracle Update OracleDataAdapter UpdateCommand, DeleteCommand, InsertCommand SQL!?.NET Oracle oo4o ODP.NET 17

oo4o ODP.NET OracleDataAdapter UpdateCommand DeleteCommand InsertCommand SQL OracleCommandBuilder SQL Dim CustRow As DataRow If dscustomer.tables("mstcustomer").rows.count = 0 Then CustRow = dscustomer.tables("mstcustomer").newrow() Else CustRow = dscustomer.tables("mstcustomer").rows(0) End If CustRow.Item("CustomerId") = TextBoxID.Text CustRow.Item("CustomerNAME") = TextBoxCompanyName.Text If CustRow.RowState = DataRowState.Detached Then _ dscustomer.tables("mstcustomer").rows.add(custrow) da.update(dscustomer.tables("mstcustomer")).15 ODP.NET ( ) Dim strcustname As String = _ dscustomer.tables("mstcustomer").rows(0).item( CustomerName ).16 Dim strcustname As String = dscustomer.mstcustomer(0).customername.17 xsd xsd Oracle Developer Tools for Visual Studio.NET ODT Oracle Technology Network( OTN).NET Developer Center!?.NET Oracle oo4o ODP.NET 18

oo4o ODP.NET ODT xsd 1. xsd Visual Studio.NET 2. xsd Oracle xsd!?.net Oracle oo4o ODP.NET 19

oo4o ODP.NET xsd 3. (T) xsd OK Oracle OracleDataAdapter OracleDataAdapter!?.NET Oracle oo4o ODP.NET 20

oo4o ODP.NET DataSet!?.NET Oracle oo4o ODP.NET 21

oo4o ODP.NET PL/SQL oo4o ODP.NET PL/SQL SQL PL/SQL CREATE OR REPLACE PACKAGE SCOTT.pkg_ref AS CURSOR c1 IS SELECT ename FROM emp; TYPE empcur IS REF CURSOR RETURN c1%rowtype; PROCEDURE GetEmpData( END; indeptno IN NUMBER, EmpCursor in out empcur ); CREATE OR REPLACE PACKAGE BODY SCOTT.pkg_ref AS PROCEDURE GetEmpData(indeptno IN NUMBER, EmpCursor in out empcur ) IS BEGIN OPEN EmpCursor FOR SELECT ename FROM emp WHERE deptno=indeptno; END GetEmpData; END pkg_ref;.18 PL/SQL GetEmpData emp deptno Ref Cursor oo4o PL/SQL GetEmpData Dim ssql As String Set OraDatabase = OraSession.OpenDatabase( _ "orcl", "scott/tiger", dboption.oradb_default) deptno OraDatabase.Parameters.Add "DEPTNO", 10, ORAPARM_INPUT OraDatabase.Parameters("DEPTNO").serverType = ORATYPE_NUMBER GetEmpData ssql = "Begin pkg_ref.getempdata(:deptno, :EmpCursor); end;" Ref Cursor Set OraDynaset = OraDatabase.CreatePlsqlDynaset(sSql, "EmpCursor", 0&)!?.NET Oracle oo4o ODP.NET 22

oo4o ODP.NET Do While Not OraDynaset.EOF Debug.Print OraDynaset("ename") OraDynaset.MoveNext Loop.19 oo4o Ref Cursor ODP.NET Dim ssql As String Dim conn As New OracleConnection("User Id=Scott;Password=Tiger;Data Source=orcl") conn.open() GetEmpData SQL OracleCommand Dim cmd As New OracleCommand("pkg_ref.GetEmpData", conn) cmd.commandtype = CommandType.StoredProcedure deptno cmd.parameters.add("deptno", 10) cmd.parameters.add("empcursor", OracleDbType.RefCursor, ParameterDirection.Output) GetEmpData cmd.executenonquery() Ref Cursor Dim dr1 As OracleDataReader = _ CType(cmd.Parameters(1).Value, OracleRefCursor).GetDataReader Do While dr1.read Debug.WriteLine(dr1("ename")) Loop.20 ODP.NET Ref Cursor Ref Cursor Dim conn As New OracleConnection("User Id=Scott;Password=Tiger;Data Source=orcl") GetEmpData SQL OracleCommand Dim cmd As New OracleCommand("pkg_ref.GetEmpData", conn) cmd.commandtype = CommandType.StoredProcedure!?.NET Oracle oo4o ODP.NET 23

oo4o ODP.NET Ref Cursor cmd.parameters.add("deptno", 10) cmd.parameters.add("empcursor", OracleDbType.RefCursor, ParameterDirection.Output) ' GetEmpData DataSet Dim dsdata As New DataSet Dim da As New OracleDataAdapter(cmd) da.fill(dsdata, "data") 'Grid DataGridEmp.SetDataBinding(dsData, "data").21 ODP.NET Ref Cursor Ref Cursor CREATE OR REPLACE PACKAGE SCOTT.pkg_ref2 AS CURSOR c1 IS SELECT * FROM emp; CURSOR c2 IS SELECT * FROM dept; TYPE empcur IS REF CURSOR RETURN c1%rowtype; TYPE deptcur IS REF CURSOR RETURN c2%rowtype; PROCEDURE GetEmpDeptData( ); END; EmpCursor in out empcur, DeptCursor in out deptcur CREATE OR REPLACE PACKAGE BODY SCOTT.pkg_ref2 AS PROCEDURE GetEmpDeptData( EmpCursor in out empcur, DeptCursor in out deptcur) IS BEGIN OPEN EmpCursor FOR SELECT * FROM emp; OPEN DeptCursor FOR SELECT * FROM dept; END GetEmpDeptData; END pkg_ref2;.22 Ref Cursor!?.NET Oracle oo4o ODP.NET 24

oo4o ODP.NET PL/SQL GetEmpDeptData emp dept oo4o Ref Cursor Dim ssql As String Dim OraSession As New OraSessionClass Dim OraDatabase As OraDatabase Set OraDatabase = OraSession.OpenDatabase( _ "orcl", "scott/tiger", dboption.oradb_default) OraDatabase.Parameters.Add "EmpCursor", 0, ORAPARM_OUTPUT OraDatabase.Parameters("EmpCursor").serverType = ORATYPE_CURSOR OraDatabase.Parameters.Add "DeptCursor", 0, ORAPARM_OUTPUT OraDatabase.Parameters("DeptCursor").serverType = ORATYPE_CURSOR ssql = "Begin pkg_ref2.getempdeptdata(:empcursor,:deptcursor); end;" Set OraSqlStmt = OraDatabase.CreateSql(sSql, ORASQL_FAILEXEC) Set EmpDynaset = OraDatabase.Parameters("EmpCursor").Value Set DeptDynaset = OraDatabase.Parameters("DeptCursor").Value Do While Not EmpDynaset.EOF Debug.Print EmpDynaset("ename") Loop EmpDynaset.MoveNext Do While Not DeptDynaset.EOF Debug.Print DeptDynaset("dname") Loop DeptDynaset.MoveNext OraDatabase.Parameters.Remove ("EmpCursor") OraDatabase.Parameters.Remove ("DeptCursor").23 oo4o Ref Cursor!?.NET Oracle oo4o ODP.NET 25

oo4o ODP.NET ODP.NET Ref Cursor Dim conn As New OracleConnection("User Id=Scott;Password=Tiger;Data Source=orcl") Dim cmd As New OracleCommand("pkg_ref2.GetEmpDeptData", conn) cmd.commandtype = CommandType.StoredProcedure 'REF CURSOR cmd.parameters.add("empcursor", OracleDbType.RefCursor, ParameterDirection.Output) cmd.parameters.add("deptcursor", OracleDbType.RefCursor, ParameterDirection.Output) cmd.executenonquery() 'SQL Ref Cursor Dim dr1 As OracleDataReader = _ CType(cmd.Parameters(0).Value, OracleRefCursor).GetDataReader Dim dr2 As OracleDataReader = _ CType(cmd.Parameters(1).Value, OracleRefCursor).GetDataReader 'RefCursor Do While dr1.read Debug.WriteLine(dr1("ename")) Loop Do While dr2.read Debug.WriteLine(dr2("dname")) Loop.24 ODP Ref Cursor ( ) Ref Cursor Dim conn As New OracleConnection("User Id=Scott;Password=Tiger;Data Source=orcl") Dim cmd As New OracleCommand("pkg_ref2.GetEmpDeptData", conn) cmd.commandtype = CommandType.StoredProcedure 'REF CURSOR cmd.parameters.add("empcursor", OracleDbType.RefCursor, ParameterDirection.Output) cmd.parameters.add("deptcursor", OracleDbType.RefCursor, ParameterDirection.Output) 'SQL Ref Cursor Dim dsdata As New DataSet!?.NET Oracle oo4o ODP.NET 26

oo4o ODP.NET Dim da As New OracleDataAdapter(cmd) da.fill(dsdata, "data") 'Grid DataGridEmp.SetDataBinding(dsData, "data") DataGridDept.SetDataBinding(dsData, "data1").25 ODP.NET Ref Cursor ( ) oo4o ODP.NET oo4o '--- Dim OraSession As New OraSessionClass Dim OraDatabase As OraDatabase Set OraDatabase = OraSession.OpenDatabase( _ "orcl", "scott/tiger", dboption.oradb_default) ' OraSession.BeginTrans OraDatabase.ExecuteSQL "insert into emp(empno,ename) values(6,'michel')" OraSession.CommitTrans.26 oo4o oo4o OraSession ODP.NET OracleConnection OracleConnection BeginTransaction '--- cnn.open() Dim cmd As New OracleCommand cmd.connection = cnn ' Dim txn As OracleTransaction = cnn.begintransaction() cmd.commandtext = "insert into emp(empno,ename) values(6,'michel')" cmd.commandtype = CommandType.Text cmd.executenonquery() txn.commit()!?.net Oracle oo4o ODP.NET 27

oo4o ODP.NET.27 ODP.NET ODP.NET SavePoint Dim cnn As New OracleConnection cnn.connectionstring = "user id=scott;password=tiger;data source=orcl" cnn.open() ' Dim txn As OracleTransaction = cnn.begintransaction() Dim strsql1 As String = "INSERT INTO emp (empno, ename) VALUES (1,'Employee1')" Dim mycmd As New OracleCommand(strSQL1, cnn) Dim res As Integer = mycmd.executenonquery() SavePoint a txn.save("a") Dim strsql2 As String = "INSERT INTO emp (empno, ename) VALUES (2,'Employee2')" Dim mycmd2 As New OracleCommand(strSQL2, cnn) Dim res2 As Integer = mycmd2.executenonquery() SavePoint b txn.save("b") SavePoint a txn.rollback("a") txn.commit().28 ODP.NET (SavePoint ) COM+ oo4o COM COM COM!?.NET Oracle oo4o ODP.NET 28

oo4o ODP.NET ODP.NET COM+ ODP.NET COM+ Oracle Services for Microsoft Transaction Server(OraMTS) COM+ Microsoft COM+ Microsoft MSDN.NET COM+ XML WEB COM+!?.NET Oracle!?.NET Oracle oo4o ODP.NET 29

oo4o ODP.NET ADO Visual Basic 6.0( VB) Oracle oo4o ADO VB ADO Oracle.NET ADO ODP.NET ADO RecordSet Movenext Do Until RecordSet.Eof RecordSet.Movenext Loop.29 ADO RecordSet ODP.NET OracleDataReader ADO RecordSet ReadOnly, FowardOnly. NET ADO ODP.NET oo4o ODP.NET OracleDataAdapter DataSet DataSet!?.NET Oracle oo4o ODP.NET 30

oo4o ODP.NET ADO ODP.NET ADO.NET Visual Studio.NET Visual Basic 6.0 Visual Basic.NET Vbupgrade.exe Visual Basic 6.0 Visual Studio.NET Visual Basic 6.0 Visual Basic.NET Visual Basic 6.0 Oracle Visual Besic 6.0 DataGrid emp!?.net Oracle oo4o ODP.NET 31

oo4o ODP.NET Dim conn As ADODB.Connection Dim rs As ADODB.Recordset Set conn = New ADODB.Connection conn.cursorlocation = aduseclient conn.connectionstring = _ "Provider=OraOLEDB.Oracle.1;User ID=scott;Password=tiger;Data Source=orcl;" conn.open Set rs = conn.execute("select * FROM emp",, adcmdtext) Set Me.DataGrid1.DataSource = rs.30.net VB Visual Studio.NET VB.NET Dim conn As ADODB.Connection Dim rs As ADODB.Recordset conn = New ADODB.Connection conn.cursorlocation = ADODB.CursorLocationEnum.adUseClient conn.connectionstring = _ "Provider=OraOLEDB.Oracle.1;User ID=scott;Password=tiger;Data Source=orcl;"!?.NET Oracle oo4o ODP.NET 32

oo4o ODP.NET conn.open() rs = conn.execute("select * FROM emp",, ADODB.CommandTypeEnum.adCmdText) Me.DataGrid1.DataSource = rs.31.net ADO.NET ADO ADO DataGrid Visual Basic 6.0 Visual Basic.NET ADO Visual Basic 6.0.NET Framework ADO.NET.NET ODP.NET Dim conn As New OracleConnection( _ "User Id=Scott;Password=Tiger;Data Source=orcl") Dim cmd As New OracleCommand("Select * from emp", conn) Dim adp As New OracleDataAdapter(cmd) Dim ds As New DataSet adp.fill(ds, "emplist") DataGrid1.SetDataBinding(ds, "emplist").32 ADO ODP.NET!?.NET Oracle oo4o ODP.NET 33

oo4o ODP.NET Visual Basic 6.0 DataGrid Visual Studio.NET DataGrid DataGrid!?.NET Oracle oo4o ODP.NET 34

oo4o ODP.NET Copyright 2005 Oracle Corporation Japan. All Rights Reserved. Oracle Oracle Corporation Oracle Corporation!?.NET Oracle oo4o ODP.NET 35