Dbd Error Ocistmtexecute Perl
Contents |
script $done=0; unless($pid = fork()) {#child #This is a simple query that constantly runs on table perl dbi oracle example like dual at + regular intervals print $ur->connect() while (!$done) and
Install Dbd::oracle
sleep 5 ; } #calling other methods that loads data to database $obj->method1(); $done=1; [download] Both parent and perl oracle dbd child shares the same database handle.. It needs to be so to keep only one oracle session open and make it alive.. But after everything executed, I am getting an
Dbd Error Ociserverattach
oracle error like the following.. ORA-03113: end-of-file on communication channel (DBD ERROR: OCIStmtExecute/Describe) Any help will be greatly apreciated. Thanks Comment on ORA-03113: end-of-file on communication channel (DBD ERROR: OCIStmtExecute/Describe)Download Code Replies are listed 'Best First'. Re: ORA-03113: end-of-file on communication channel (DBD ERROR: OCIStmtExecute/Describe) by almut (Canon) on Apr 20, 2009 at 21:33UTC Both parent and child shares the perl dbi example same database handle.. That presumably is your problem. See InactiveDestroy. [reply] Re^2: ORA-03113: end-of-file on communication channel (DBD ERROR: OCIStmtExecute/Describe) by a1helios (Initiate) on Jan 17, 2014 at 04:43UTC Thanks Guys. It did really help me. So Basically I have set "INACTIVE_DESTROY" => 1 and have reset my db connection for the child processes and now it is perfectly working.[reply] Re: ORA-03113: end-of-file on communication channel (DBD ERROR: OCIStmtExecute/Describe) by roboticus (Chancellor) on Apr 20, 2009 at 21:33UTC shijumic: I doubt that the DBI/DBD system is going to be happy sharing a connection to the database like that. Anyway, what I think you're seeing right now is that when your child process ends, it's closing the connection, making it unavailable to the parent any longer. ...roboticus[reply] Re^2: ORA-03113: end-of-file on communication channel (DBD ERROR: OCIStmtExecute/Describe) by Anonymous Monk on Apr 21, 2009 at 16:35UTC The probelm here is child doesn't exit after the parent dies..any idea how to kill the parent and child simultaneouisly.. ,some example would be greatly appreciated!! thanks[reply] Back to Seekers of Perl Wisdom
using perl dbh->do() If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link
Perl Dbi Execute
above to proceed. To start viewing messages, select the forum that you want
Perl Dbi Connect
to visit from the selection below. Results 1 to 2 of 2 Thread: Problem while executing .sql script using perl python oracle dbh->do() Tweet Thread Tools Show Printable Version Email this Page… Subscribe to this Thread… Display Linear Mode Switch to Hybrid Mode Switch to Threaded Mode 10-27-2004,07:21 AM #1 ramana View Profile View Forum Posts http://www.perlmonks.org/bare/?node_id=758802 Registered User Join Date Oct 2004 Location bangalore, india Posts 6 Problem while executing .sql script using perl dbh->do() hi , can i execute the following commands using dbh->do(). EXEC PROC1; @/home/www/exec_scr; EXEC res_scr; The above three are available in a .sql file named test.sql. where PROC1,res_scr are procedures. i would like to execute test.sql using dbh->do(). The sql scripts for creating PROC1,exec_scr.sql are the following. CREATE http://www.webdeveloper.com/forum/showthread.php?47590-Problem-while-executing-sql-script-using-perl-dbh-gt-do() OR REPLACE PROCEDURE PROC1 IS BEGIN DBMS_OUTPUT.PUT_LINE('THIS IS FIRST PROCEDURE'); commit; END; CREATE OR REPLACE PROCEDURE res_scr IS BEGIN DBMS_OUTPUT.PUT_LINE('TEST PROC'); END; / This is working fine on command prompt by executing @test.sql But from from front end i am facing some problem. My perl code from fron end . #!/usr/bin/perl use DBI; use CGI; use HTML::Template; use CGI::Carp qw(fatalsToBrowser); use CGI qw( :standard ); my(@FileData) = undef; my($DataFile) = "/home/www/test.sql"; my(@FileData) = main::ReadFile($DataFile); my($i) = undef; sub main::ReadFile { my($filename) = $_[0]; my($count) = 0; my(@result) = undef; unless (-f $filename) {print "Does not exist: $filename\n" ; return 0}; open (INPUT, "$filename") || warn "Could not open file $filename : $!\n"; while () { $result[$count++] = $_; }; close (INPUT); return @result; }; # send the obligatory Content-Type print "Content-Type: text/html\n\n"; my $string; for ($i=0;$i<@FileData ;$i++) { $string=$string.$FileData[$i]; } print "$string \n\n"; $ENV{ORACLE_HOME}="/usr/ora92/product/9.2"; my $db_conn = "dbi:Oracle:host=xxxxxx;sid=xxx;"; my $username = "xxxxx"; my $pass = "XXXXx"; my $dbh = DBI->connect($db_conn,$username,$pass); die($DBI::errstr) unless $dbh; $dbh -> {RaiseError} = 1; $dbh -> {AutoCommit} = 0; my @str_sql=split(/;/, $string); for ($k=0;$k<@str_sql-1 ;$k++) { $str_sql[$k]= $str_sql[$k].';'; print $str_sql[$k]."\n"; print $k; } for($j=0;$j<@str_sql;$j++) { print $str_sql[$j]; $dbh->do($str_sql[$j]); } $dbh -> disconnect(); ******************** Error *******************
it reproduce in sql*plus? ORA-3113 quite often means call Oracle support. From asktom.oracle.com: The underlying cause of a 3113 can be diagnosed typically by: o inspecting the alert log on the server. http://www.nntp.perl.org/group/perl.dbi.users/2005/05/msg26556.html There should be a message in there typically that tells of the error occuring http://perlmaven.com/ora-03124-two-task-internal-error-dbd-error-ocistmtexecute and gives the name of a trace file. o the trace file will contain more details. Most importantly, you can see the SQL statement that was executing usually at the time of the crash. This can be useful in diagnosing the statement that is giving us a hard time. The remainder of the trace perl dbi file will not be very useful to you -- but it will be useful to support which is your next step.... o contact support with the contents of the trace file. For errors like this, the information in the trace file can be used by support/development to track down the cause of this error. "Hawkes, Richard"
xinhuan I am getting ORA-03124: two-task internal error (DBD ERROR: OCIStmtExecute) when using DBD::Oracle version 1.23. This is a select query. Oracle server is 11g and client is also 11g. The select statement is like this: select col1, col2 from table where key = '12335|678999|345667'; The interesting thing is the query worked at the very first time, and failed on second time and onwards. My question is: does DBD::Oracle 1.23 (latest version) support Oracle 11g client and server? If it is, is this a known bug in Oracle 11g server or client or in DBD::Oracle module? Thanks, --xinhuan Posted on 2009-08-21 10:15:05-07 by byterock in response to 11339 The ora-03124 has nothing to do with DBB::Oracle as this is either a disk/space issue a license issue (as in you do not have the correct one) or you are trying to stuff too much data into a single row or field. You will have to look at you oracle logs to see what is going wrong. As it ran once I would go the too much data in a row or field and it might have something to do with non UTF8 chars By they way no one but me actually look at this list (and I only when I have some spare time) You would be much better off posting on the DBI mailing list or raise a RT ticket (This article is based on a thread on the CPAN::Forum.) Suggest a change English about the translations