340 likes | 362 Views
Enhance productivity with Oracle Developer Tools for Visual Studio .NET. Easily develop, deploy, and manage Oracle databases in the Visual Studio environment. Leverage SQL Server experience with powerful Oracle features.
E N D
DEV 301Oracle Developer Tools for Visual Studio .NET Christian Shay, Oracle Corporation Alex Keh, Oracle Corporation
Agenda • Introduction • Oracle Developer Tools for VS.NET • .NET Stored Procedures Demo • Oracle Data Provider for .NET New Features • ODP.NET demo – DB Change Notification
Windows Development Environment Support Oracle Developer Tools for VS.NET IIS (ASPASP.NET) MTS/COM+ C++, C#, VB .NET Application Develop Deploy Visual Studio Environment Application IIS Deploy Database Development DB ODP.NET Oracle DB Extensions For .NET Oracle Services for MTS
Agenda • Introduction • Oracle Developer Tools for VS.NET • .NET Stored Procedures Demo • Oracle Data Provider for .NET New Features • ODP.NET demo – DB Change Notification
Oracle Developer Tools for Visual Studio .NET • Tightly integrated “Add-in” for Visual Studio .NET • Oracle is a premier-level partner in MS Visual Studio Industry Partner Program (VSIP) • Available for free download now • http://otn.oracle.com/dotnet
Develop on Windows, Database on any platform Windows Oracle Developer Tools for VS.NET Linux Visual Studio Environment Unix Windows Other Oracle 10g, 9i, or 8i
Benefits • Easy to learn and intuitive • Leverage your SQL Server experience • Powerful features that enhance productivity – e.g. designers, code generation • Exposes native Oracle functionality not typically available in generic tools • Stay in Visual Studio for more of your project’s lifecycle
Feature Overview • Oracle Explorer – browse and alter schema • Wizards & Designers • Automatic Code Generation • PL/SQL Editor with intellisense • Oracle Data Window • Oracle Query Window (Ad Hoc SQL) • Integrated Help System – SQL, PL/SQL Keywords
demo Oracle Developer Tools
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
Designers and Wizards • Table Designer • View Designer • Stored Procedure/Function Wizard • Package Wizards • Sequence Designer • Synonym Designer • Trigger Designer • Data Adapter Wizard
Automatic code generation • Drag and drop a schema object from Oracle explorer • 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 and PLSQL Keywords and Datatypes • Intelligent Error display in task list • Context sensitive help for Oracle error numbers
Data Window • View and Update Table data • Run Stored procedures and view data • Supports Oracle datatypes • View complex data types such as Ref Cursors
Oracle Query Window • Execute “Ad Hoc” SQL • Drag and drop objects from Oracle Explorer to generate SQL • Result of select statements in choice of 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
Coming Soon • PL/SQL Debugging • Many other features…..
Agenda • Introduction • Oracle Developer Tools for VS.NET • .NET Stored Procedures Demo • Oracle Data Provider for .NET New Features • ODP.NET demo – DB Change Notification
Oracle Database Extensions for .NET • Oracle 10g Release 2 on Windows • Supports C#, VB.NET, C++ Stored Procedures • Build assembly in Visual Studio .NET • Deploy from Visual Studio .NET using Deployment Wizard
Write .NET Stored Procedures for Oracle Oracle Developer Tools for VS.NET Client Application Visual Studio Environment Develop Invoke C#,VB.NET,C++ Server Project (UseODP.NET If required) Stored Procedure, SQL .. Invoke Deploy Build Assembly foo.dll (proc sp) Oracle DB Extensions for .NET Stored Proc
Creating a .NET SP • 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 • 5) Call .NET SP as you would any other SP
demo Creating and Deploying a .NET Stored Procedure into Oracle
Agenda • Introduction • Oracle Developer Tools for VS.NET • .NET Stored Procedures Demo • Oracle Data Provider for .NET New Features • ODP.NET demo – DB Change Notification
ODP.NET 10g Release 2 Themes • Better ease of use • More flexibility • Access to advanced Oracle DB features • Faster performance
ODP.NET - RAC and Grid • Automatic connection cleanup • ODP.NET frees connections to bad nodes automatically • Set connection pool parameter • “HA events = true” • Works with 10gR2 RAC • Runtime connection load balancing • Connections divided among nodes based on metrics and admin policies • Set connection pool parameter: • “load balancing = true” • Works with 10gR2 RAC
ODP.NET - DB Change Notification • When a DB data change occurs, client app using the data is notified • Change in a query result set, schema objects, or the state of the database • Works with 10gR2 DB • Properties • Create/Remove DB change notifications • Group multiple notifications into one registration • Persist notifications on DB server
Change Notification Process • 1. When command is executed, the notification registration is created in the DB • 2. ODP.NET starts the application listener upon notification registration • 3. When a change occurs, the application is notified through either • Callback - event delegate assigned to the OracleDependency.OnChange event property • Polling - OracleDependency.HasChanges property
Setting up ODP.NET Change Notification • 1. Create OracleDependency • 2. Assign event handler to OracleDependency.OnChange event property • Event handler invoked when the change notification is received • 3. Set the port for the listener to listen on • 4. Bind the OracleDependency instance to the OracleCommand with the query • Internally, the DB change notification request is created and assigned to the OracleCommand.Notification property
demo DB Change Notification
ODP.NET - Connection Pool Management • Explicitly refresh connections in a pool or pools • Clear connections from a pool or pools • One pool - Execute OracleConnection.ClearPool method • All pools – Execute OracleConnection.ClearAllPools method • Works with 10gR2 and earlier DBs
ODP.NET - LOB (and LONG) Retrieval • Faster performance • Fewer DB round trips for LOB retrieval • Transparent to developer • Works with 10gR2 DB • More tunable and usable • Full LOB functionality when InitialLOBFetchSize > 0 • GetOracleBlob() and GetOracleClob() methods in OracleDataReader supported • InitialLOBFetchSize can be up to 2GB • Works with 10gR2 DB
ODP.NET - Security • Application security context • ODP.NET can set the Client Identifier in the Application Context for every database session • Similar to proxy user authentication, but requires only one session and no pre-created proxy user • Set OracleConnection.ClientIdentifier = “gold customer” • Works with 10gR2 and earlier DBs
ODP.NET - Additional Features • Input REF Cursors into PL/SQL • Only works when REF Cursor is output from PL/SQL first • Works with 10gR2 DB • ODP.NET works with .NET Stored Procedures • Additional ADO.NET 2.0 features for ODP.NET in 2nd half 2005
Next Steps • Come to the Oracle booth (Exhibition Hall Stand A21) for a one on one demonstration with .NET experts • Next Session: SVR340 Oracle on Windows Thu Jul 7 10:15 - 11:30 Room: 2c • .NET Developer Center - free downloads, demos, walkthroughs, and whitepapers • http://otn.oracle.com/dotnet • Oracle Developer Tools & .NET Stored Proc questions? Email: christian.shay@oracle.com • Oracle Data Provider (ODP.NET) questions? Email: alex.keh@oracle.com