Using .NET Stored Procedures in Oracle 10gR2

Lucas Jellema 1

From the OTN Series on “Mastering .NET Application Development with Oracle”, this installment on taking advantage of .NET stored procedures in your applications. See Using .NET Stored Procedures in Oracle

PL/SQL stored procedures and functions run in the same process as the Oracle Database and are stored inside of Oracle. A .NET stored procedure, on the other hand, runs in an external process and the .NET code is compiled into a “.NET assembly,” which is a dynamic link library (DLL) file stored in the file system (usually on the same machine as the database). The .NET assembly is loaded into and executed inside of a “CLR host” external process named extproc.exe, which is spawned by the Windows service named ClrAgnt. When a .NET stored procedure call is made, Oracle communicates with this external process, passing in the arguments and retrieving the results. This communication is handled by the Oracle multithreaded agent architecture. To the end user, a .NET stored procedure call appears to be no different than any other type of stored procedure call. In fact, a .NET stored procedure can be called from any environment where you could call a PL/SQL or Java stored procedure.

If you are using Oracle Database 10g Express Edition, .NET stored procedures are automatically installed and configured—no additional configuration is required. In the Standard and Enterprise Editions, however, .NET stored procedures are not installed and configured by default. Note: you need Oracle Database 10.2 or later for the Windows platform. (Note: .NET stored procedures are not supported on any other platform!)

One thought on “Using .NET Stored Procedures in Oracle 10gR2

  1. I´m having the following problem using Oracle .Net procedues.

    I´ve made a function that return an accent a (á) but when I call it, returns another value.

    Public Shared Function x1() As String
    Return “á”
    End Function

    Public Shared Function x2() As String
    Dim oConDB As New DoConexionOracle(Constants.STRCON)
    Return oConDB.ObtenerEscalarFromSQL(“select ‘á’ FROM DUAL”)
    End Function



    Any idea?

Comments are closed.

Next Post

ODTUG 2006 in Washington, DC - Abstracts Due 12 December

The next edition of the yearly reunion of the best (and nicest) Oracle Developers in the world is going to be held from June 17th to June 21st, in Washington DC – the closest to home they have ever been. ODTUG (Oracle Development Tools User Group) conferences are always interesting […]
%d bloggers like this: