Опит в използването на ODP.NET с Oracle 9i Лектор: Иван Симеонов ТехноЛогика ЕООД.

Презентация:



Advertisements
Похожие презентации
© 2006 Cisco Systems, Inc. All rights reserved. BSCI v Manipulating Routing Updates Implementing Advanced Cisco IOS Features: Configuring DHCP.
Advertisements

Microsoft TechDays Марат Бакиров Эксперт по разработке ПО Microsoft
Microsoft TechDays Никоноров Евгений Ведущий разработчик EPAM Systems.
© 2009 Avaya Inc. All rights reserved.1 Chapter Nine, Voic Pro in SCN Module Three – Backup Voic Pro.
© 2009 Avaya Inc. All rights reserved.1 Chapter Nine, Voic Pro in SCN Module Four – Distributed Voic Pro.
SharePoint Design Tools Office Applications Решения на базе BCS и внешних типов содержимого позволяют интегрировать данные в SharePoint и Office Описывает.
© 2001, Cisco Systems, Inc. CSIDS Chapter 6 Alarm Management.
Drafting New in CimatronE3. Drafting Enhancements User defined view. View attributes. Frames. New drafting interaction. Section view for open objects.
Evgeniy Krivosheev Vyacheslav Yakovenko Last update: Feb, 2012 Spring Framework Module 4 – DAO, JDBC.
WiseImage Open Architecture. Why to open? Modern technology demands A growing amount of customers demands for custom commands The limited development.
Understanding Record and Table Locking In OpenEdge ® SQL Applications Jeff Owen Principle Software Engineer, OESQL Progress Software Session 132.
© 2009 Avaya Inc. All rights reserved.1 Chapter Two, Voic Pro Components Module Two – Actions, Variables & Conditions.
Copyright 2003 CCNA 2 Chapter 18 Basic Router Troubleshooting By Your Name.
© 2006 Cisco Systems, Inc. All rights reserved. ICND v Establishing Serial Point-To-Point Connections Introducing Frame Relay.
© 2005 Cisco Systems, Inc. All rights reserved. IPTX v Configuring Additional Cisco CallManager Express Features Configuring Cisco CallManager Express.
Java Server Pages(JSP). JavaServer Pages (JSP) позволяют вам отделить динамическую часть ваших страниц от статического HTML. Вы, как обычно, пишете обычный.
© 2009 Avaya Inc. All rights reserved.1 Chapter Three, Voic Pro Advanced Functions Module Two – Database and IVR.
AVVID Troubleshooting Tools © 2004 Cisco Systems, Inc. All rights reserved. Using Database Tools IPTT v
© 2006 Cisco Systems, Inc. All rights reserved. BCMSN v Implementing High Availability in a Campus Environment Optimizing HSRP.
Copyright ® 2000 MSC.Software Results Animation S15-1 PAT301, Section 15, October 2003 SECTION 15 RESULTS ANIMATION.
Транксрипт:

Опит в използването на ODP.NET с Oracle 9i Лектор: Иван Симеонов ТехноЛогика ЕООД

Какво е Oracle Data Provider for.NET (ODP.NET) ASP.NETVB.NETC#C++.NET OLE DB.NET ORACLE OLE DB ODBC.NET ORACLE ODBC ODP.NET ORACLE DB

ODP.NET Обектен модел DataSet Oracle DataAdapter Oracle Transaction Oracle Command Oracle Connection Oracle DataReader Connected Layer (ODP.NET) Disconnected Layer Oracle OracleCommand Builder Data Layer Business Object

Основни характеристики на ODP.NET Full PL/SQL support Full PL/SQL support Packaged, non-packaged, anonymous, autonomous Packaged, non-packaged, anonymous, autonomous Batch SQL available with anonymous PL/SQL Batch SQL available with anonymous PL/SQL Native Oracle data types Native Oracle data types LOBs, REF Cursor, Date, TimeStamps, Long, Raw, etc. LOBs, REF Cursor, Date, TimeStamps, Long, Raw, etc. Connection pooling Connection pooling Min, Max, Timeout, Lifetime, Increment, Decrement Min, Max, Timeout, Lifetime, Increment, Decrement Transactions Transactions Enterprise Services via Oracle Services for MTS Savepoints Globalization Globalization Full Unicode support Client settings are used to display Oracle data in locale-specific manner Transparent application failover Transparent application failover Notification callbacks

Основни характеристики на ODP.NET - продължение Parameters Parameters PL/SQL Associative Array data type PL/SQL Associative Array data type Parameter Array binding Parameter Array binding Named and positional parameters Named and positional parameters XML DB XML DB XML repository Native XMLType XML stored as CLOB or object Schema and non- schema-based XML Views

Oсновни предимства на ODP.NET Multiple Active Result Sets (MARS) Multiple Active Result Sets (MARS) Native XML Data Type Native XML Data Type Result Set Retrieval Tuning Options Result Set Retrieval Tuning Options Configurable LOB Retrieval Configurable LOB Retrieval Array Parameters Array Parameters

Oracle Helper ExecuteDataSet – 6 overloads ExecuteDataSet – 6 overloads ExecuteFunction – 9 overloads ExecuteFunction – 9 overloads ExecuteReader – 6 overloads ExecuteReader – 6 overloads ExecuteScalar – 6 overloads ExecuteScalar – 6 overloads ExecuteNonQuery – 6 overloads ExecuteNonQuery – 6 overloads ExecuteXMLReader – 6 overloads ExecuteXMLReader – 6 overloads

Проблеми с ODP.NET Липсва DeriveParameters за PL/SQL процедури Липсва DeriveParameters за PL/SQL процедури PLSQL Associative Arrays без стойност на елемент PLSQL Associative Arrays без стойност на елемент Не поддържа varray като параметър Не поддържа varray като параметър ExecuteScalar не работи с PL/SQL Functions без RefCursor ExecuteScalar не работи с PL/SQL Functions без RefCursor Разлика в типовете данни Разлика в типовете данни

Добри практики при използването на ODP.NET Използвайте connection pooling Използвайте connection pooling Отстранявайте ODP.NET обектите, когато приключите работа Отстранявайте ODP.NET обектите, когато приключите работа Минимизирайте roundtrips Минимизирайте roundtrips Оптимизиране на single statement (SELECT) Оптимизиране на single statement (SELECT) Използвайте FetchSize (OracleDataReader) и RowSize (OracleCommand) Използвайте FetchSize (OracleDataReader) и RowSize (OracleCommand) Използвайте DataAdapter.Requery Използвайте DataAdapter.Requery Намалява roundtrips при повторно изпълнение на команда Намалява roundtrips при повторно изпълнение на команда

Добри практики при използването на ODP.NET - продължение Оптимизиране на multi-statement Оптимизиране на multi-statement Изпълнявате много и различни команди? Изпълнявате много и различни команди? Използвайте anonymous PL/SQL Използвайте anonymous PL/SQL Използвайте групови команди Използвайте групови команди Изпълнявате една команда много пъти? Изпълнявате една команда много пъти? Използвайте parameter array binding Използвайте parameter array binding Използвайте PL/SQL associative arrays Използвайте PL/SQL associative arrays

Добри практики при използването на ODP.NET - продължение Използвайте OracleRefCursor class Използвайте OracleRefCursor class Данните се извличат, когато е необходимо Данните се извличат, когато е необходимо Използвайте Oracle LOB classes (DML) Използвайте Oracle LOB classes (DML) Няма необходимост да изтегляте данните за да променяте или добавяте LOBs Няма необходимост да изтегляте данните за да променяте или добавяте LOBs Желаете данните в LOB на един път? Желаете данните в LOB на един път? Използвайте InitialLOBFetchSize, за да оптимизирате извличането на LOB Използвайте InitialLOBFetchSize, за да оптимизирате извличането на LOB Желаете да извлечете LOB по-късно? Желаете да извлечете LOB по-късно? По подразбиране, ODP.NET използва LOB locators По подразбиране, ODP.NET използва LOB locators

Добри практики при използването на ODP.NET - продължение Използвайте PL/SQL пакети Използвайте PL/SQL пакети Управлявайте транзакциите от.NET Управлявайте транзакциите от.NET Когато е възможно, използвайте multiple RefCursors Когато е възможно, използвайте multiple RefCursors Използвайте собствен error handling (Exceptions.ApplicationBlock) Използвайте собствен error handling (Exceptions.ApplicationBlock) …

Други.NET Providers за Oracle Microsoft.NET Data Provider for Oracle Microsoft.NET Data Provider for Oracle Corelab OraDirect.NET Data Provider Corelab OraDirect.NET Data Provider DataDirect Connect for.NET DataDirect Connect for.NET

Кой.NET Provider да използваме За малки приложения и бърза разработка – MS Data Provider for Oracle За малки приложения и бърза разработка – MS Data Provider for Oracle За пълно използване на възможностите на Oracle DB и висока производителност – ODP.NET За пълно използване на възможностите на Oracle DB и висока производителност – ODP.NET =/library/en-us/dnadonet/html/ODPvsMSDP.asp =/library/en-us/dnadonet/html/ODPvsMSDP.asp