Here is a sample script I had sitting in my temp directory -- maybe it will help a bit. (Just make sure to enter "real" values for the constants ORAUSER, ORAPASS, and ORATNS.)
#!/usr/bin/perl -w
use strict;
#-- Use modules
use DBD::Oracle;
use DBI;
#-- Define local constants
use constant TRUE => 1;
use constant FALSE => 0;
use constant ORAUSER => 'my_ora_user';
use constant ORAPASS => 'secret_password';
use constant ORATNS => 'ora_db_tns_name';
#-- Define local variables
my $gDBHandle;
my $gSQLCmd;
my $gSQLHandle;
my @gFields;
#-- Initialize local variables
$gSQLCmd = 'SELECT column_name, ' .
' nullable, ' .
' data_type, ' .
' data_length ' .
' FROM dba_tab_columns ' .
' WHERE owner = ? ' .
' AND table_name = ? ' .
' ORDER BY column_id ';
#-- Connect to the database
$gDBHandle = DBI->connect
(
'dbi:Oracle:' . ORATNS, ORAUSER, ORAPASS,
{
AutoCommit => FALSE,
PrintError => FALSE,
RaiseError => FALSE,
}
) || die 'Could not connect to Oracle ['.$DBI::errstr.' - '.$DBI::er
+r.']';
#-- Get the data
$gSQLHandle = $gDBHandle->prepare($gSQLCmd)
|| die 'Error with SQL statement ['.$DBI::errstr.' - '.$DBI::err.']'
+;
$gSQLHandle->execute('SYS','DBA_TABLES')
|| die 'Error with SQL statement ['.$DBI::errstr.' - '.$DBI::err.']'
+;
while (@gFields = $gSQLHandle->fetchrow_array)
{
print $gFields[0],"\t",$gFields[1],"\t",$gFields[2],"\t",$gFields[3]
+,"\n";
}
#-- Close the database connection
$gDBHandle->disconnect();
#-- Exit
exit;
#-- End of Example
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.