Fetching and updating cursors
This article was created on Red Hat Fedora Core 4, with Oracle 10.2.0.2 and Perl 5.8.6.
The decision not to cover the installation was made because the installation is different for each operating system, while I'd like to concentrate on the common features, the features that can be used across the whole range of supported systems.
EMP and DEPT tables do not have LOB columns, so I will have to create my own infrastructure for dealing with LOB data types.
The string on the beginning contains the following elements, separated by colons: the string "dbi", driver type, in this case "Oracle" and the database name, also known as TNS descriptor. The first argument, therefore, defines the database to connect to.
Oracle SQL executes in several phases: Parse phase: SQL statement is checked for syntactical validity and all objects are checked to see whether they exist or not and whether the user has appropriate access privileges or not.Unfortunately, DBD:: Oracle does not support array interface, so the effects of this local cache are not as great as one would expect.As a matter of fact, this lack of support for Oracle array interface is the feature that severely limits the use of Perl with Oracle and makes it unsuitable for large data loads or massive transactions.The 2nd and 3rd arguments are, of course, username and password.Of course, everyone who has ever worked with databases knows that connection errors happen from time to time, so it is prudent to check for errors: In case of connection error, database handle $dbh is not created and the error string "errstr" comes from the DBI class itself.