Visit Our UNIX and Linux User Community


From perl program query is not executed.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting From perl program query is not executed.
# 15  
Old 03-04-2015
Double check the SQL statement:
Code:
select tname from tab where rownum <6

Try to execute it from some other clinet (like sqlplus) with the user defined in the Perl script.
# 16  
Old 03-04-2015
please find the below by using sql plus.
Code:
SQL*Plus: Release 10.2.0.3.0 - Production on Wed Mar 4 07:24:10 2015
Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> select tname from tab where rownum <6;
TNAME
------------------------------
BIN$Di6O8Q1CAc7gVAAwbvSoEg==$0
BIN$Di6O8Q1FAc7gVAAwbvSoEg==$0
BIN$Di6O8Q1IAc7gVAAwbvSoEg==$0
BIN$Di6O8Q1LAc7gVAAwbvSoEg==$0
BIN$Di6vfFnAb2PgVAAwbvSoEg==$0

Does any character set need to be changed or NLS settings need to be changed.
# 17  
Old 03-04-2015
No, as far as I know ...
# 18  
Old 03-04-2015
anything else need to be tested ?
I could see if this query is invoked from perl its not working.

---------- Post updated at 08:35 AM ---------- Previous update was at 08:28 AM ----------

when this query is called from the perl program its not working.
not sure whether my coode is correct.
Code:
#!/usr/bin/perl
use strict;
use DBI;
my $ORACLE_HOME = "/oracle/product/10.2.0";
$ENV{ORACLE_HOME} = $ORACLE_HOME;
my $ORACLE_SID="bpmardbd";
$ENV{ORACLE_SID}=$ORACLE_SID;
my $user= "user";
my $passwd= "passwd";
my $sid = "dbd";
my $host = "info.com";
my $dbh = DBI->connect("dbi:Oracle:host=$host;sid=$sid;port=1588",$user,$passwd) or die "Couldn't able to connect to database $@\n";

my $sql ="select tname from tab where tname='BIN$Di6O8Q1CAc7gVAAwbvSoEg==$0';
my $sth = $dbh->prepare($sql);
$sth->execute();
while (my $row = $sth->fetchrow_array)
{
  print $row . "\n";
}
$dbh->disconnect;

# 19  
Old 03-04-2015
Could you post the exact output from your terminal from both the successful and the failing execution?
# 20  
Old 03-04-2015
error when running query through perl :
Code:
DBD::Oracle::st execute failed: ORA-03106: fatal two-task communication protocol error (DBD ERROR: OCIStmtExecute) [for Statement "select tname from tab where rownum <6"] at /dhome/dsmum/AutoQC/scripts/testDB.pl line 20.
DBD::Oracle::st fetchrow_array failed: ERROR no statement executing (perhaps you need to call execute first) [for Statement "select tname from tab where rownum <6"] at /dhome/dsmum/AutoQC/scripts/testDB.pl line 21.

Successs output :
Code:
 
Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> select tname from tab where tname='C_TST_CA';
TNAME
------------------------------
C_TST_CA

---------- Post updated at 09:16 AM ---------- Previous update was at 09:14 AM ----------

error :
Code:
DBD::Oracle::st execute failed: ORA-03106: fatal two-task communication protocol error (DBD ERROR: OCIStmtExecute) [for Statement "select tname from tab where tname='CQC_TEST_CASES'"] at testDB.pl line 20.
DBD::Oracle::st fetchrow_array failed: ERROR no statement executing (perhaps you need to call execute first) [for Statement "select tname from tab where tname='CQC_TEST_CASES'"] at testDB.pl line 21.

# 21  
Old 03-04-2015
You provided two values for sid, is the second one correct?
Code:
my $sid = "dbd";

Please just post the exact text from your terminal including the commands executed.

Previous Thread | Next Thread
Test Your Knowledge in Computers #468
Difficulty: Medium
Both Ethernet and IPv4 use an all-zeros broadcast address to indicate a broadcast packet.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl program get a response before the program quits

I created a program, so a kid can practice there math on it. It dispenses varies math problems and the kid must input an answer. I also want it to grade the work they have done, but I can't find the best place for it to print out the grade. I have: if ( $response =~ m/^/ ) { $user_wants_to_quit... (1 Reply)
Discussion started by: germany1517
1 Replies

2. Shell Programming and Scripting

To check if the JAVA Program is successfully executed in sh shell scripting

Hi , I have written a shell script to call a java program say load_id.sh .This sh script indeed is executed implicitly in other sh script which calls 2 more sh scripts one by one. I need to check if the load_id.sh (which calls java program) is executed successfully only then continue with... (1 Reply)
Discussion started by: preema
1 Replies

3. Programming

A simple C program query ...

Given the following code inside the function ext3_write_super(): (It's there in Linux kernel 2.6.27.59) static void ext3_write_super (struct super_block * sb) { if (mutex_trylock(&sb->s_lock) != 0) BUG(); sb->s_dirt = 0; } The conditional test at if... (2 Replies)
Discussion started by: Praveen_218
2 Replies

4. Homework & Coursework Questions

Calling compiled C program with Perl program

Long story short: I'm working inside of a Unix SSH under a bash shell. I have to code a C program that generates a random number. Then I have to call the compiled C program with a Perl program to run the C program 20 times and put all the generated random #s into a text file, then print that text... (1 Reply)
Discussion started by: jdkirby
1 Replies

5. Shell Programming and Scripting

How to get the return code of subroutines executed as standalone as command line in Perl ?

How to do I get the return code of a subroutine in a perl module if invoke the subroutine as standalone, I have an module say TestExit.pm and in that i have a subroutine say myTest() which is returns 12, if i were to call the subroutine from command line like CASE:1 ( Without an explict... (2 Replies)
Discussion started by: ennstate
2 Replies

6. Shell Programming and Scripting

Unique constraint violated within stored procedure executed from Perl

Hi! I got an strange trouble executing a stored procedures that goes inserting line by line on a table. I mus integrate it with perl for an specific task... the hole process is controlled by e Perl script that: Load a text file calling sqlldr. Call a stored procedure that process the... (2 Replies)
Discussion started by: jparra
2 Replies

7. Shell Programming and Scripting

how to find status of last executed cmd in perl?

In shell we can find the status of last executed command by $? In perl what is the command to find the status of last executed command... Can any one please say??????????????? Thanks, Prabhu (1 Reply)
Discussion started by: prsampath
1 Replies

8. Shell Programming and Scripting

How to find pid of PS which executed by perl system function

hello All, I need to invoke by perl script some program/command and monitor it for 5 minutes . In case it still running for more then 5 min I need to send a signal which will stop it. I implemeted this as shown below by using eval & alarm and I'd like to know if there is a better way to... (1 Reply)
Discussion started by: Alalush
1 Replies

9. Shell Programming and Scripting

pro*c program for sql query

Hi all, I have sql query as follows. Please write a pro*c program for the following query. select sp1.cost_change ||','|| sp1.cost_change_desc ||','|| sp1.reason ||','|| to_char(sp1.active_date,'DD-MON-YYYY HH24:MI:SS') ||','|| sp1.status ||','|| sp1.cost_change_origin... (0 Replies)
Discussion started by: user71408
0 Replies

10. Shell Programming and Scripting

perl - why is the shell script executed before the print command?

i'm writing some simple scripts to help me learn perl. why does the print command get called after the shell script is executed? the purpose of the shell script is to simply echo to the screen "script run". which is does, but before the print command, you can clearly see the shell script is... (3 Replies)
Discussion started by: mjays
3 Replies

Featured Tech Videos