ADO and RDO do not support Oracle cursor types; neither Microsoft nor Oracle drivers provide appropriate conversion. As a result, you cannot use Oracle stored procedures from VB or Active Server Pages (ASP) to retrieve a multiple-row recordset. Instead, dynamic embedded SQL statements have to be passed. At this point, the performance degrades and the code becomes difficult to maintain. A better alternative?besides using a third-party driver?is to use precompiled (prepared) queries with parameters. These queries can be declared and precompiled when your application or component is first initialized (in the Sub Main, Initialize, or Load events, or include file).
Later, you can assign the parameters and call queries?including stored procedures consisting of single SQL statements?by their names. This approach can be faster (both in development and performance) for implementing business logic using VB built-in functionality instead of customized PL/SQL functions. It also can be applied with any RDBMS if you want to separate the database logic. (Queries are created by your component, are invisible in DBMS environment, and gone with your app). It’s also easier to adapt and port components against different RDBMS-modifying SQL statements to a particular dialect?or using standard SQL?than convert vendor specific “glue” languages such as PL/SQL or Transact-SQL.