This is the most bizarre thing I have ever seen. I am using the following code: There is absolutely no reason why this should not return anything when I pass in the variable.
The text file that it is reading form looks like this: 1-10903223 1-281734170 1-294613112 1-313763161 1-314022306 1-330892166 1-358488075 The result of the print is as follows: --------------> User Id(name): --------------> SR(bulk): --------------> User Id(name): --------------> SR(bulk): --------------> User Id(name): --------------> SR(bulk): --------------> User Id(name): You can see the there is data but is not being read. print "Extract started at: " . `date`; use Strict; use DBI; $connect_string="DBI:Oracle:$SERVICE"; my $dbh = DBI->connect( "DBI:Oracle:$SERVICE", $oracle_user, $oracle_password, { AutoCommit => 0, LongTruncOk => TRUE, PrintError => TRUE, ChopBlanks => TRUE, LongTruncOk => TRUE, LongReadLen => 50000, RaiseError => TRUE } ) or die "connecting: $DBI::errstr"; open BULK, $daily_sr_file or die "Could not open file:$!"; my $line = 1; while(my $ln = <BULK> ) { $ln =~ s/ //g; #what in the world is this comment? #use the items of the #NOTE: all columns are named my $get_case_text = $dbh->prepare(" SELECT a.sr_num sr_num, a.sr_title sr_title, a.sr_stat_id sr_stst_id FROM s_srv_req a WHERE sr_num = ?" ); #just above is the problem should be a ? instead of $ln #$sr_num should be $ln $get_case_text->execute($ln) or $dbh->errstr; #use hashrefs instead of 17 variables my $case = $get_case_text->fetchrow_hashref(); $get_case_text->finish; print "--------------> SR(bulk): $case->{sr_num}\n"; print "--------------> User Id(name): $case->{sr_title}\n"; $line++; } close(BULK); $dbh->disconnect; -----Original Message----- From: Chas Owens [mailto:[EMAIL PROTECTED]] Sent: Wednesday, May 29, 2002 5:39 PM To: Lance Prais Cc: Perl Subject: RE: Problem reading a file and passing a variable On Wed, 2002-05-29 at 18:35, Lance Prais wrote: > Thank you. I scaled down the SQL and tested it in SQL (records returned) > and then in the script(no records returned). This is bizarre to me. > Actually it it is a string with the values being for example "1-99999" Do yo mean $ln contains the value "1-99999"? The following will strip spaces from a string: $ln =~ s/ //g; If it worked before you may want to eschew using the binding feature and just plop $ln directly into the query (just make certain to call execute with no parameters). > > > Does perl default to a string? If I put "" or '' around the? Like so '?' > Or "?", I get an error message therefore I know I am not going down the > write path. Could it have something to do with permissions? I have them > set for execute. > > Thanks > Lance > > -----Original Message----- > From: Chas Owens [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, May 29, 2002 4:11 PM > To: Lance Prais > Cc: Perl > Subject: RE: Problem reading a file and passing a variable > > On Wed, 2002-05-29 at 17:05, Lance Prais wrote: > > [Chas], > > Thank you, you made me realize the value of indention like never before. > > In the past I used the "=?" to return results form the query but in this > > case when I used in and run this script it does not error out but instead > > the query returns no values? Could that be because there are leading or > > trailing spaces. My understanding is that the Chomp would take care of > that. > > Am I wrong in my assumption? > > > > Thanks again > > Lance > > > > The chomp function removes the trailing newline character (actually it > removes whatever is in $/ variable, but that is usually \n so it doesn't > really matter). In this case $ln looks like a number so you could say > "$ln += 0;" which would force $ln to contain a number instead of a > string (thus getting rid of spaces). If spaces are not the problem then > try running the query by hand in sql*plus (or toad if you have it) to > make sure it is not a problem with the query. > > -- > Today is Prickle-Prickle the 3rd day of Confusion in the YOLD 3168 > This statement is false. > > Missile Address: 33:48:3.521N 84:23:34.786W > > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] -- Today is Prickle-Prickle the 3rd day of Confusion in the YOLD 3168 You are what you see. Missile Address: 33:48:3.521N 84:23:34.786W -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]