On Tue, 24 Jun 2003 12:41:43 -0400 "Chang, Mei" <[EMAIL PROTECTED]> wrote:
> My program successfully connected to oracle DB and performed all sql
> statements, but if I uses perl.exe -w then I got the following
> warnings. (Note: the script is still working and executes the sql
> statements successfully). Can some one tell me how can I get rid
> of this warnings. What does this error mean?
It means that you are using a variable before giving it a value.
> connecting to Oralce.... Use of uninitialized value in concatenation
> <.> or string at C:\perl5.6.1.633\site\lib\DBD\Oracle.pm line 192
The error is occuring at line 192 in DBD/Oracle.pm. Look in that file
to see what is happening. I am not sure what exact version you are
using, so I can't be sure what is happening.
> The following is the subroutine for connect_db
>
> sub connect_db()
> {
> my $dbh1;
> my $db = 'ORA'; #should it be oracle?
> my $hostname = 'host=test01';
> #my $port = 'port=1521';
> my $sid = 'sid=ORA';
> my $user = 'abc'; # fake username... use your own
> my $password = 'abcabc'; # fake password... use your own
> my $dsn = "dbi:Oracle:$db;$hostname;$sid;$user;$password;";
Remove ';$user;$password', they don't belong in the DSN. All parts
after ';' are supposed to be key=value pairs and you give the userid
and password as separate arguments anyway. Look in
http://search.cpan.org/dist/DBD-Oracle/Oracle.pm for the correct
syntax for the DSN argument for DBD::Oracle.
If the instance is named in tnsnames.ora or Oracle*Names, you don't
have to use the host=;sid= syntax.
--
Mac :})
Give a hobbit a fish and he eats fish for a day.
Give a hobbit a ring and he eats fish for an age.