SlideShare a Scribd company logo
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
The following is intended to outline our general product direction. It
      is intended for information purposes only, and may not be
incorporated into any contract. It is not a commitment to deliver any
   material, code, or functionality, and should not be relied upon in
 making purchasing decision. The development, release, and timing
   of any features or functionality described for Oracle’s products
               remains at the sole discretion of Oracle.
Christian Shay
              Principal Product Manager
              .NET and Windows




“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
Introducing:
.NET Stored Procedures for
Oracle Database 10g Release
2 and Oracle Developer
Tools for Visual Studio .NET
Agenda

• Oracle Developer Tools for Visual Studio .NET
   • Overview
   • Demo - drill down
• Oracle Database Extensions for .NET
   •   Overview
   •   Demo – My First SP
   •   Tuning and Data Access
   •   Demo – Data Access in a SP
   •   Demo – Debugging a .NET SP
Windows Development
Environment Support
 Oracle Developer
 Tools for VS.NET
                                                        IIS
                                                              MTS/
                  Develop    C++, C#,      Deploy      (ASP
                                                              COM+
  Visual Studio              VB .NET                 ASP.NET)
  Environment               Application
                                                        Application
                                                            IIS
                                  Deploy
         Database
         Development


                                                      ODP.NET
                            Oracle DB
                            Extensions
                             For .NET          Oracle Services for MTS
Oracle Developer Tools for Visual
Studio .NET

• Tightly integrated “Add-in” for Visual Studio .NET
• Oracle is a premier-level partner in the Microsoft
  Visual Studio Industry Partner (VSIP) Program
• Available for free download now
    • http://otn.oracle.com/dotnet
Develop on Windows, Database on
any Platform

   Oracle Developer
   Oracle Developer
                            Windows
   Tools for VS.NET
                            Linux
      Visual Studio
      Visual Studio
      Environment
      Environment
                            Unix
     Windows                Other

                      Oracle 10g, 9i, or 8i
Benefits
• Easy to learn and intuitive
• Leverage SQL Server development experience
• Powerful features that enhance productivity – e.g.
  designers, auto code generation
• Exposes latest and greatest Oracle functionality
• Stay in Visual Studio for project lifecycle
Feature Overview
•   Oracle Explorer – browse and alter schema
•   Wizards and Designers
•   Automatic code generation
•   PL/SQL Editor with IntelliSense
•   Oracle Data Window
•   Oracle Query Window (ad hoc SQL)
•   .NET Stored Procedure Deployment Wizard
•   Integrated help system – SQL, PL/SQL keywords
D E M O N S T R A T I O N


Oracle Developer
Tools - Drill Down
Oracle Explorer
•   Tree control, similar to “Server Explorer”
•   View Oracle schema objects
•   Generate SQL for schema objects
•   Filter hides unwanted schema objects
•   A starting place for most tasks
     •   View, alter, create schema objects
     •   Auto generate code
     •   View and edit Oracle data
     •   Run stored procedures and functions
Oracle Explorer
Designers and Wizards
•   Table Designer
•   View Designer
•   Stored Procedure/Function Wizard
•   Package Wizards
•   Sequence Designer
•   Synonym Designer
•   Trigger Designer
•   Data Adapter Wizard
Table Designer
Automatic Code Generation
• Drag and drop a schema object from Oracle Explore
• Generated code uses OracleDataAdapter class
  (ODP.NET)
• Data Adapter Wizard can be run to customize
• Generate “typed datasets” as needed
PL/SQL Code Editor
•   Syntax Coloring
•   Collapsible regions
•   IntelliSense
•   Context sensitive help for SQL/PLSQL keywords
•   Intelligent error display in task list
•   Context-sensitive help for Oracle error numbers
PL/SQL Code Editor
Data Window
•   View and update table data
•   Run stored procedures and view data
•   Supports Oracle data types
•   View complex data types such as Ref Cursors
Data Window
Oracle Query Window
• Execute “ad hoc” SQL
• Drag and drop objects from Oracle Explorer to
  generate SQL
• Result of select statements in grid or text format
• Execute multiple statements in a row
• Run scripts (“@myscript.sql”)
Integrated Online Help
•   Getting started
•   Walkthroughs
•   Oracle Developer Tools Reference Guide
•   Context sensitive help for UI elements
•   Context sensitive SQL and PLSQL keywords
•   Oracle Error Manual
•   Oracle SQL Reference Guide
•   Oracle PL/SQL Reference Guide
Integrated Online Help
Coming Soon – CY 2005

• PL/SQL Debugging
• Visual Studio .NET 2005 support
• Many other features
Agenda

• Oracle Developer Tools for Visual Studio .NET
   • Overview
   • Demo - drill down
• Oracle Database Extensions for .NET
   •   Overview
   •   Demo – My First SP
   •   Tuning and Data Access
   •   Demo – Data Access in a SP
   •   Demo – Debugging a .NET SP
Oracle Database Extensions
for .NET
• Oracle 10g Release 2 on Windows
• Write Microsoft Visual C# or Visual Basic .NET
  stored procedures/functions
• Build assembly in Visual Studio .NET
• Deploy from Visual Studio .NET using .NET
  Deployment Wizard
Architecture
Write .NET Stored Procedures for
Oracle
    Oracle Developer
           Developer
    Tools for VS.NET

     Visual Studio
     Visual Studio                 Client
                                   Client
     Environment
     Environment                 Application
                                 Application

              Develop
                                        Invoke
     C#,VB.NET,C++
     C#,VB.NET,C++
     Server Project
      Server Project
      (Use ODP.NET
      (Use ODP.NET                             Invoke     Stored
                                                          Stored
       if required)
        if required)                                    Procedure,
                                                        Procedure,
                                                          SQL ..
                                                          SQL ..
                Build   Deploy

       Assembly
       Assembly                                  Oracle DB
         foo.dll
         foo.dll
       (proc sp)
        (proc sp)
                                                 Extensions
                                 Stored Proc      for .NET
                                                  for .NET
Supported Platforms

• Windows only
• .NET Framework 1.1
• Oracle 10.2 or later
When to use

•   Ease of development
•   Computationally intensive code
•   Leverage .NET programming expertise
•   Leverage existing .NET code libraries
•   Windows platform only
Install

• “Custom” install of “Oracle Database
  Extensions for .NET” is required
• DBCA performs configuration
• CLR Service created and started
   • Service is named <OracleHomeName>ClrAgnt
Creating a .NET Stored
Procedure
1.   Use Visual Studio .NET to build a .NET
     procedure or function in the usual way
2.   If data access is required, use ODP.NET
     classes
3.   Result is a .NET assembly
4.   Run .NET Stored Procedure Deployment
     Wizard (included with Oracle Developer Tools)
5.   Call .NET stored procedure as you would any
     other Oracle stored procedure
Stored Procedure
Requirements
• Be declared a public static method.
• Not be a constructor or a destructor.
• Use parameter types that are compatible with
  the Oracle native database types.
Security Levels

• Safe - Access only to database resources.
• External - Read or write to local files, and
  access to network resources such as sockets
  and internet nodes
• Unsafe- Unrestricted execution including
  execution of unmanaged code. It is a superset
  of all other security levels.
D E M O N S T R A T I O N


Your First .NET SP
OraCLRAgent Service

• Multithreaded Agent Architecture
   • Optimized for security and performance
   • A separate multithreaded process is started for
     each system identifier
   • Each TNS listener that is running on a system
     listens for incoming connection requests for a set
     of SIDs.
   • As system load thresholds are met, additional
     processes are spawed
Performance Tuning

  • Edit Service <OracleHomeName>ClrAgnt
  • Example: ORACLE_HOMEbinoraclragnt.exe
    agent_sid=CLRExtProc max_task_threads=5
Performance Tuning


• max_sessions – (25) Number of maximum
  sessions
• max_task_threads – (6) Number of maximum
  task threads
• max_dispatchers – (2) Number of maximum
  dispatchers
ODP.NET Server Side
Differences
• Failover/Notifications, Transaction and
  Connection classes have differences
• No transactions can be started, committed, or
  rolled back from within a .NET SP that uses
  the default connection of the caller
• Regular transaction symantics apply if a new
  connection is opened in the SP
D E M O N S T R A T I O N


  .NET SP Data
     Access
D E M O N S T R A T I O N


     .NET SP
    Debugging
Next Steps
•   .NET Developer Center - http://otn.oracle.com/dotnet
•   Visit our booth in the demogrounds:
    •   Oracle Database 10g area - Moscone South
•   More .NET and Windows sessions:
    •   ODP.NET: New Features in ADO.NET 2.0 and Oracle
        Database 10g Release 2
         – NEXT! (Today 4:30 PM 304 Moscone South)
    •   Oracle Database on Windows: Best Practices
        Thursday, 2:30PM in 304 Moscone South
    •   OTN Ask the Experts
        Wednesday, 4PM – OTN Lounge, Moscone West
•   E-mail me: christian.shay@oracle.com
Q
&
QUESTIONS


 A
 ANSWERS
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”

More Related Content

What's hot

Avoid boring work_v2
Avoid boring work_v2Avoid boring work_v2
Avoid boring work_v2
Marcin Przepiórowski
 
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday SloveniaContinuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Dr. John Tunnicliffe
 
Oracle Database on Docker - Best Practices
Oracle Database on Docker - Best PracticesOracle Database on Docker - Best Practices
Oracle Database on Docker - Best Practices
gvenzl
 
Osconorion
OsconorionOsconorion
Osconorion
susanfmccourt
 
SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...
SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...
SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...Stephan H. Wissel
 
Jelastic - DevOps for Java with Docker Containers - Madrid 2015
Jelastic - DevOps for Java with Docker Containers - Madrid 2015Jelastic - DevOps for Java with Docker Containers - Madrid 2015
Jelastic - DevOps for Java with Docker Containers - Madrid 2015
Jelastic Multi-Cloud PaaS
 
Dockerizing Oracle Database
Dockerizing Oracle Database Dockerizing Oracle Database
Dockerizing Oracle Database
gvenzl
 
Using the Splunk Java SDK
Using the Splunk Java SDKUsing the Splunk Java SDK
Using the Splunk Java SDK
Damien Dallimore
 
Talent42 2014 Sam Wholley -
Talent42 2014 Sam Wholley - Talent42 2014 Sam Wholley -
Talent42 2014 Sam Wholley -
Talent42
 
Overview of PaaS: Java experience
Overview of PaaS: Java experienceOverview of PaaS: Java experience
Overview of PaaS: Java experience
Alex Tumanoff
 
Sap java
Sap javaSap java
Sap java
largeman
 
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
Jérôme Françoisse
 
VA Smalltalk Update
VA Smalltalk UpdateVA Smalltalk Update
VA Smalltalk Update
ESUG
 
Supercharge your Code to get optimal Database Performance
Supercharge your Code to get optimal Database PerformanceSupercharge your Code to get optimal Database Performance
Supercharge your Code to get optimal Database Performance
gvenzl
 
Running Oracle Database on Docker
Running Oracle Database on DockerRunning Oracle Database on Docker
Running Oracle Database on Docker
gvenzl
 
Apereo OAE - Bootcamp
Apereo OAE - BootcampApereo OAE - Bootcamp
Apereo OAE - Bootcamp
Nicolaas Matthijs
 
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na NuvemTecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
Bruno Borges
 
What's New and Next in OpenNTF Domino API (ICON UK 2014)
What's New and Next in OpenNTF Domino API (ICON UK 2014)What's New and Next in OpenNTF Domino API (ICON UK 2014)
What's New and Next in OpenNTF Domino API (ICON UK 2014)
Paul Withers
 
Batching and Java EE (jdk.io)
Batching and Java EE (jdk.io)Batching and Java EE (jdk.io)
Batching and Java EE (jdk.io)
Ryan Cuprak
 

What's hot (20)

Avoid boring work_v2
Avoid boring work_v2Avoid boring work_v2
Avoid boring work_v2
 
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday SloveniaContinuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
 
Oracle Database on Docker - Best Practices
Oracle Database on Docker - Best PracticesOracle Database on Docker - Best Practices
Oracle Database on Docker - Best Practices
 
Osconorion
OsconorionOsconorion
Osconorion
 
SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...
SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...
SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...
 
Jelastic - DevOps for Java with Docker Containers - Madrid 2015
Jelastic - DevOps for Java with Docker Containers - Madrid 2015Jelastic - DevOps for Java with Docker Containers - Madrid 2015
Jelastic - DevOps for Java with Docker Containers - Madrid 2015
 
Dockerizing Oracle Database
Dockerizing Oracle Database Dockerizing Oracle Database
Dockerizing Oracle Database
 
Using the Splunk Java SDK
Using the Splunk Java SDKUsing the Splunk Java SDK
Using the Splunk Java SDK
 
Talent42 2014 Sam Wholley -
Talent42 2014 Sam Wholley - Talent42 2014 Sam Wholley -
Talent42 2014 Sam Wholley -
 
Overview of PaaS: Java experience
Overview of PaaS: Java experienceOverview of PaaS: Java experience
Overview of PaaS: Java experience
 
Sap java
Sap javaSap java
Sap java
 
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
 
Sharepoint Deployments
Sharepoint DeploymentsSharepoint Deployments
Sharepoint Deployments
 
VA Smalltalk Update
VA Smalltalk UpdateVA Smalltalk Update
VA Smalltalk Update
 
Supercharge your Code to get optimal Database Performance
Supercharge your Code to get optimal Database PerformanceSupercharge your Code to get optimal Database Performance
Supercharge your Code to get optimal Database Performance
 
Running Oracle Database on Docker
Running Oracle Database on DockerRunning Oracle Database on Docker
Running Oracle Database on Docker
 
Apereo OAE - Bootcamp
Apereo OAE - BootcampApereo OAE - Bootcamp
Apereo OAE - Bootcamp
 
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na NuvemTecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
 
What's New and Next in OpenNTF Domino API (ICON UK 2014)
What's New and Next in OpenNTF Domino API (ICON UK 2014)What's New and Next in OpenNTF Domino API (ICON UK 2014)
What's New and Next in OpenNTF Domino API (ICON UK 2014)
 
Batching and Java EE (jdk.io)
Batching and Java EE (jdk.io)Batching and Java EE (jdk.io)
Batching and Java EE (jdk.io)
 

Similar to Ow

ow.ppt
ow.pptow.ppt
ow.ppt
ssuser96a63c
 
ow.ppt
ow.pptow.ppt
Oracle database connection with the .net developers
Oracle database connection with the .net developersOracle database connection with the .net developers
Oracle database connection with the .net developers
veerendramb3
 
.NET Core: a new .NET Platform
.NET Core: a new .NET Platform.NET Core: a new .NET Platform
.NET Core: a new .NET Platform
Alex Thissen
 
Asp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework CoreAsp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework Core
mohamed elshafey
 
ASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bits
Ken Cenerelli
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation
dimuthu22
 
Database Schema Management & Deployment using SQL Server Data Tools (SSDT)
Database Schema Management & Deployment using SQL Server Data Tools (SSDT)Database Schema Management & Deployment using SQL Server Data Tools (SSDT)
Database Schema Management & Deployment using SQL Server Data Tools (SSDT)
Microsoft TechNet - Belgium and Luxembourg
 
70487.pdf
70487.pdf70487.pdf
70487.pdf
Karen Benoit
 
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
Amazon Web Services
 
Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5
mbaric
 
.NET per la Data Science e oltre
.NET per la Data Science e oltre.NET per la Data Science e oltre
.NET per la Data Science e oltre
Marco Parenzan
 
Entity Framework Core 1.0
Entity Framework Core 1.0Entity Framework Core 1.0
Entity Framework Core 1.0
Senthil Kumar
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...WSPDC & FEDSPUG
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
GlobalLogic Ukraine
 
Moving microsoft .net applications one container at a time
 Moving microsoft .net applications one container at a time  Moving microsoft .net applications one container at a time
Moving microsoft .net applications one container at a time
Amazon Web Services
 

Similar to Ow (20)

Plantilla oracle
Plantilla oraclePlantilla oracle
Plantilla oracle
 
ow.ppt
ow.pptow.ppt
ow.ppt
 
ow.ppt
ow.pptow.ppt
ow.ppt
 
Ow
OwOw
Ow
 
Oracle database connection with the .net developers
Oracle database connection with the .net developersOracle database connection with the .net developers
Oracle database connection with the .net developers
 
.NET Core: a new .NET Platform
.NET Core: a new .NET Platform.NET Core: a new .NET Platform
.NET Core: a new .NET Platform
 
Asp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework CoreAsp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework Core
 
Manas
ManasManas
Manas
 
ASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bitsASP.NET Core: The best of the new bits
ASP.NET Core: The best of the new bits
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation
 
Database Schema Management & Deployment using SQL Server Data Tools (SSDT)
Database Schema Management & Deployment using SQL Server Data Tools (SSDT)Database Schema Management & Deployment using SQL Server Data Tools (SSDT)
Database Schema Management & Deployment using SQL Server Data Tools (SSDT)
 
70487.pdf
70487.pdf70487.pdf
70487.pdf
 
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
 
Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5
 
.NET per la Data Science e oltre
.NET per la Data Science e oltre.NET per la Data Science e oltre
.NET per la Data Science e oltre
 
Entity Framework Core 1.0
Entity Framework Core 1.0Entity Framework Core 1.0
Entity Framework Core 1.0
 
Apex ace update
Apex ace updateApex ace update
Apex ace update
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
Moving microsoft .net applications one container at a time
 Moving microsoft .net applications one container at a time  Moving microsoft .net applications one container at a time
Moving microsoft .net applications one container at a time
 

Ow

  • 1. “This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
  • 2. The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decision. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  • 3.
  • 4. Christian Shay Principal Product Manager .NET and Windows “This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
  • 5. Introducing: .NET Stored Procedures for Oracle Database 10g Release 2 and Oracle Developer Tools for Visual Studio .NET
  • 6. Agenda • Oracle Developer Tools for Visual Studio .NET • Overview • Demo - drill down • Oracle Database Extensions for .NET • Overview • Demo – My First SP • Tuning and Data Access • Demo – Data Access in a SP • Demo – Debugging a .NET SP
  • 7. Windows Development Environment Support Oracle Developer Tools for VS.NET IIS MTS/ Develop C++, C#, Deploy (ASP COM+ Visual Studio VB .NET ASP.NET) Environment Application Application IIS Deploy Database Development ODP.NET Oracle DB Extensions For .NET Oracle Services for MTS
  • 8. Oracle Developer Tools for Visual Studio .NET • Tightly integrated “Add-in” for Visual Studio .NET • Oracle is a premier-level partner in the Microsoft Visual Studio Industry Partner (VSIP) Program • Available for free download now • http://otn.oracle.com/dotnet
  • 9. Develop on Windows, Database on any Platform Oracle Developer Oracle Developer Windows Tools for VS.NET Linux Visual Studio Visual Studio Environment Environment Unix Windows Other Oracle 10g, 9i, or 8i
  • 10. Benefits • Easy to learn and intuitive • Leverage SQL Server development experience • Powerful features that enhance productivity – e.g. designers, auto code generation • Exposes latest and greatest Oracle functionality • Stay in Visual Studio for project lifecycle
  • 11. Feature Overview • Oracle Explorer – browse and alter schema • Wizards and Designers • Automatic code generation • PL/SQL Editor with IntelliSense • Oracle Data Window • Oracle Query Window (ad hoc SQL) • .NET Stored Procedure Deployment Wizard • Integrated help system – SQL, PL/SQL keywords
  • 12. D E M O N S T R A T I O N Oracle Developer Tools - Drill Down
  • 13. Oracle Explorer • Tree control, similar to “Server Explorer” • View Oracle schema objects • Generate SQL for schema objects • Filter hides unwanted schema objects • A starting place for most tasks • View, alter, create schema objects • Auto generate code • View and edit Oracle data • Run stored procedures and functions
  • 15. Designers and Wizards • Table Designer • View Designer • Stored Procedure/Function Wizard • Package Wizards • Sequence Designer • Synonym Designer • Trigger Designer • Data Adapter Wizard
  • 17. Automatic Code Generation • Drag and drop a schema object from Oracle Explore • Generated code uses OracleDataAdapter class (ODP.NET) • Data Adapter Wizard can be run to customize • Generate “typed datasets” as needed
  • 18. PL/SQL Code Editor • Syntax Coloring • Collapsible regions • IntelliSense • Context sensitive help for SQL/PLSQL keywords • Intelligent error display in task list • Context-sensitive help for Oracle error numbers
  • 20. Data Window • View and update table data • Run stored procedures and view data • Supports Oracle data types • View complex data types such as Ref Cursors
  • 22. Oracle Query Window • Execute “ad hoc” SQL • Drag and drop objects from Oracle Explorer to generate SQL • Result of select statements in grid or text format • Execute multiple statements in a row • Run scripts (“@myscript.sql”)
  • 23. Integrated Online Help • Getting started • Walkthroughs • Oracle Developer Tools Reference Guide • Context sensitive help for UI elements • Context sensitive SQL and PLSQL keywords • Oracle Error Manual • Oracle SQL Reference Guide • Oracle PL/SQL Reference Guide
  • 25. Coming Soon – CY 2005 • PL/SQL Debugging • Visual Studio .NET 2005 support • Many other features
  • 26. Agenda • Oracle Developer Tools for Visual Studio .NET • Overview • Demo - drill down • Oracle Database Extensions for .NET • Overview • Demo – My First SP • Tuning and Data Access • Demo – Data Access in a SP • Demo – Debugging a .NET SP
  • 27. Oracle Database Extensions for .NET • Oracle 10g Release 2 on Windows • Write Microsoft Visual C# or Visual Basic .NET stored procedures/functions • Build assembly in Visual Studio .NET • Deploy from Visual Studio .NET using .NET Deployment Wizard
  • 29. Write .NET Stored Procedures for Oracle Oracle Developer Developer Tools for VS.NET Visual Studio Visual Studio Client Client Environment Environment Application Application Develop Invoke C#,VB.NET,C++ C#,VB.NET,C++ Server Project Server Project (Use ODP.NET (Use ODP.NET Invoke Stored Stored if required) if required) Procedure, Procedure, SQL .. SQL .. Build Deploy Assembly Assembly Oracle DB foo.dll foo.dll (proc sp) (proc sp) Extensions Stored Proc for .NET for .NET
  • 30. Supported Platforms • Windows only • .NET Framework 1.1 • Oracle 10.2 or later
  • 31. When to use • Ease of development • Computationally intensive code • Leverage .NET programming expertise • Leverage existing .NET code libraries • Windows platform only
  • 32. Install • “Custom” install of “Oracle Database Extensions for .NET” is required • DBCA performs configuration • CLR Service created and started • Service is named <OracleHomeName>ClrAgnt
  • 33. Creating a .NET Stored Procedure 1. Use Visual Studio .NET to build a .NET procedure or function in the usual way 2. If data access is required, use ODP.NET classes 3. Result is a .NET assembly 4. Run .NET Stored Procedure Deployment Wizard (included with Oracle Developer Tools) 5. Call .NET stored procedure as you would any other Oracle stored procedure
  • 34. Stored Procedure Requirements • Be declared a public static method. • Not be a constructor or a destructor. • Use parameter types that are compatible with the Oracle native database types.
  • 35. Security Levels • Safe - Access only to database resources. • External - Read or write to local files, and access to network resources such as sockets and internet nodes • Unsafe- Unrestricted execution including execution of unmanaged code. It is a superset of all other security levels.
  • 36. D E M O N S T R A T I O N Your First .NET SP
  • 37. OraCLRAgent Service • Multithreaded Agent Architecture • Optimized for security and performance • A separate multithreaded process is started for each system identifier • Each TNS listener that is running on a system listens for incoming connection requests for a set of SIDs. • As system load thresholds are met, additional processes are spawed
  • 38. Performance Tuning • Edit Service <OracleHomeName>ClrAgnt • Example: ORACLE_HOMEbinoraclragnt.exe agent_sid=CLRExtProc max_task_threads=5
  • 39. Performance Tuning • max_sessions – (25) Number of maximum sessions • max_task_threads – (6) Number of maximum task threads • max_dispatchers – (2) Number of maximum dispatchers
  • 40. ODP.NET Server Side Differences • Failover/Notifications, Transaction and Connection classes have differences • No transactions can be started, committed, or rolled back from within a .NET SP that uses the default connection of the caller • Regular transaction symantics apply if a new connection is opened in the SP
  • 41. D E M O N S T R A T I O N .NET SP Data Access
  • 42. D E M O N S T R A T I O N .NET SP Debugging
  • 43. Next Steps • .NET Developer Center - http://otn.oracle.com/dotnet • Visit our booth in the demogrounds: • Oracle Database 10g area - Moscone South • More .NET and Windows sessions: • ODP.NET: New Features in ADO.NET 2.0 and Oracle Database 10g Release 2 – NEXT! (Today 4:30 PM 304 Moscone South) • Oracle Database on Windows: Best Practices Thursday, 2:30PM in 304 Moscone South • OTN Ask the Experts Wednesday, 4PM – OTN Lounge, Moscone West • E-mail me: christian.shay@oracle.com
  • 45. “This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”