Probs Debugging PL/SQL proc JDev903
Im trying to debug PL/SQL functions in JDeveloper 9.0.3.
Issue N1. In Run PL/SQL window JDev adds schema name to my function and PL/SQL block fails to compile. Im manually deleting prefix from my function and block is compiled successfully.
Then an error happened: PLS-00302: component 'JDEV_TMP_PROC_1' must be declared
Please advice
Debugger attempting to connect to database.
Executing PL/SQL: ALTER SESSION SET PLSQL_DEBUG=TRUE
Executing PL/SQL: DECLARE
id VARCHAR2( 30 );
BEGIN
id := DBMS_DEBUG.initialize( '24.27.75.30:1036303964414', 1 );
DBMS_DEBUG.debug_on( TRUE );
END;
Debugger connected to database.
Deadlock detection is not supported by the debuggee virtual machine.
Executing PL/SQL: BEGIN MY_SCHEMA."JDEV_TMP_PROC_1"(); END;
ORA-06550: line 1, column 11:
PLS-00302: component 'JDEV_TMP_PROC_1' must be declared
ORA-06550: line 1, column 7:
JDev can debug with Oracle 8.1.7 or later.
Is the PL/SQL you want to debug in the same schema as you are connecting? Because you mentioned schema names, I wonder if there may be a bug with trying to debug PL/SQL in a schema other than the one you are connected to. If so, can you try creating connection as the owner of the PL/SQL and see if that works?
Thanks!
-- Brian (JDev Team)
Similar Messages
-
How to find out which PL/SQL Proc is Compiled with Debug?
Hi,
is there any View where i can see, which PL/SQL Proc is compiled with the debug flag?
Thanks
Marco
Message was edited by:
mpatzwahAlternatively:
select name, plsql_debug from sys.all_plsql_object_settings -
Debug PL/SQL Stored Procedure
I am using JDevloper 10.1.3.4. As I am steppping through a servlet in debug and a call is made to a pl/sql stored procedure is it possible to seamlessly (or otherwise) have the debugger step into that pl/sql procedure and then step back into the servlet when exiting? I can run a pl/sql proc in debug seperately but it would be great if it could be done in line with the servlet call.
thanks a ton! I'll give this a try. Does the dbs_debug_jdwp.connect_tcp(ip,port) have to be in the called procedure?
-
Passing sysdate in milliseconds from OAF page to PL/Sql proc
Hi All,
I have a requirement wherein I need to pass SYSDATE in milliseconds from OAF page to the PL/SQL package.
Basically I will be calling a PL/SQL api from AM . So here I need to pass SYSDATE in milliseconds as one of the PL/SQL proc parameters.
How do you I go about this ?
Any help is aprreciated.
Thanks in Advanceget the current database date by
oracle.sql.date currentDate=OADBTransaction's method getCurrenctDBDate ()
(OADBTransaction object can be obtained from AM Object itself).
Now you may convert this currentDate to java date object.
currentDateObjAsJavaDate=currentDate.toDate()
now miliseconds (since1970, I remember so, please see documentation) =currentDateObjAsJavaDate.getTime(); -
I cannot debug with SQL server 2008 SSMS asks for Firewall permission?
hi friends,
I run SQL server 2008 R2 developer edition on windows 8 basic edition. SQL server is installed in my local machine. when I tried to debug a sql script it asked the firewall permission as show on image
when googled I found this
Article from MSDN with fix tool but it cannot installed on my Windows 8 OS, is there way to fix it without giving any unauthorized access to my system?
thanks
I use Visual studio 2012 Ultimate and SQL server 2008 developer edition!Hi,
The hotfix you provide applies for Windows Server 2008.
The windows firewall on this machine is currently blocking remote debugging.
According the message, the following ports need to be enabled for remote debugging. Use the procedure that is described in the section
Configuring a Port in Windows Firewall to enable the following ports through Windows Firewall:
Ports
Protocol
135
TCP
Required
500, 4500
UDP
Required if your domain policy requires network communication to be performed through IPSec.
See the below article for more information:
How to: Enable Transact-SQL Debugging
http://msdn.microsoft.com/en-us/library/vstudio/s0fk6z6e(v=vs.100).aspx
Thanks.
Tracy Cai
TechNet Community Support -
How to call a mapping in a PL/SQL proc ?
Hi all,
I want to create a PL/SQL proc to call my mappings in the right order, and to make other operations the mapping don't do.
The mapping I want to call is located in the packages.
How can I call it ?
Thanks,
NicoHi Carsten,
Thank you for trying to help me.
I do have the "Main" method you are talking about, but this method need a parameter (called "p_status") that I don't know how to implement...
The mapping I create and I want to call needs no parameter, that's why I don't understand...
This is the beginning of the main proc of my mapping package :
PROCEDURE Main(p_status OUT VARCHAR2,
p_max_no_of_errors IN VARCHAR2 DEFAULT NULL,
p_commit_frequency IN VARCHAR2 DEFAULT NULL,
p_operating_mode IN VARCHAR2 DEFAULT NULL,
p_bulk_size IN VARCHAR2 DEFAULT NULL,
p_audit_level IN VARCHAR2 DEFAULT NULL,
p_purge_group IN VARCHAR2 DEFAULT NULL) IS
x_schema VARCHAR2(30);
x_audit_id NUMBER;
x_object_id NUMBER;
x_env wb_rt_mapaudit.wb_rt_name_values;
x_param wb_rt_mapaudit.wb_rt_name_value;
x_result NUMBER;
x_return_code NUMBER;
BEGIN
etc, etc....
---------------------------------------------------------------------------------------------------------------------- -
How to Debug PL/SQL in SQL Developer?
I am not able to debug PL/SQL and i have following error please advice how I can enable privileges and I want to know the steps of debugging.
Connecting to the database My_connection.
Executing PL/SQL: ALTER SESSION SET PLSQL_DEBUG=TRUE
Executing PL/SQL: CALL DBMS_DEBUG_JDWP.CONNECT_TCP
ORA-01031: insufficient privileges
ORA-06512: at "SYS.DBMS_DEBUG_JDWP", line 68
ORA-06512: at line 1
This session requires DEBUG CONNECT SESSION and DEBUG ANY PROCEDURE user privileges.
Process exited.
Disconnecting from the database My_connection.
Thanks for your timeYou need to get the DBA for the database to grant your account the privileges mentioned in the error message.
Once that is done it should just work.
Make sure you compile for debug
You need some way to stop the debugger from just running through the code to the end
- either set breakpoints
- or Use Tools|Preferences|Debugger|Start Debugging Option to Step Into. -
Passing an array of beans to PL/SQL proc - can't quite figure it out
Hi
I'm trying to pass in a Java array of beans to a PL/SQL proc and I can't quite get it to work. I did have the more simple case of an array of strings working but I'm stumped as to how to get this more complicated case to work.
I'm using Java 5 and Oracle 10.
My Oracle User Defined Types
create or replace type MY_OBJECT as object (
id integer,
join_table_name varchar(30)
create or replace type MY_OBJECT_ARRAY as table of MY_OBJECT;
My PL/SQL proc
create or replace package threshold is
function validateThresholdSequence (
thresholdSeqId integer,
testValue number,
testDate date,
validationCriteria in MY_OBJECT_ARRAY
) return number;
end;
My Java
public class ThresholdValidationCriteriaBean
private String joinTableName = null;
private Integer id = null;
//Getters and setters...
//Map my bean to the PL/SQL UDT - thought this might help but it seems not!
Map<String, Class<?>> map = c.getTypeMap();
map.put("MY_OBJECT", ThresholdValidationCriteriaBean.class);
//Prepair my statement
String sql=new String("{call threshold.validateThresholdSequence(?,?,?,?) }");
ps= c.prepareStatement(sql);
// Set the values to insert
ps.setInt(1, thresholdSequenceId);
ps.setDouble(2, testValue);
ps.setDate(3, new java.sql.Date(date.getTime()));
//Sort out the array thing
ArrayDescriptor desc = ArrayDescriptor.createDescriptor("MY_OBJECT_ARRAY", c);
ThresholdValidationCriteriaBean[] beanArray = new ThresholdValidationCriteriaBean[validationCriteria.size()];
validationCriteria.toArray(beanArray);
ARRAY array = new ARRAY (desc, c, beanArray);
((oracle.jdbc.driver.OraclePreparedStatement)ps).setARRAY(4, array); When I run this I get the following error on the creation of the ARRAY object
java.sql.SQLException: Fail to convert to internal representation: uk.co.cartesian.ascertain.imm.threshold.ThresholdValidationCriteriaBean@15c7850
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.oracore.OracleTypeADT.toDatum(OracleTypeADT.java:239)
at oracle.jdbc.oracore.OracleTypeADT.toDatumArray(OracleTypeADT.java:274)
at oracle.jdbc.oracore.OracleTypeUPT.toDatumArray(OracleTypeUPT.java:115)
at oracle.sql.ArrayDescriptor.toOracleArray(ArrayDescriptor.java:1314)
at oracle.sql.ARRAY.<init>(ARRAY.java:152)I've spent most of the day so far going from one error to the next - but I seem to be stuck now.
Any help or hints very much appreciated
Cheers
Ian
Edited by: Yanis on Feb 28, 2008 12:12 PMI've found the answer - I'll put the code here so everyone else can see what seems to work for me
First off the object that is being passed into the array needs to implement a couple of interfaces and so becomes
public class ThresholdValidationCriteriaBean
implements SQLData, Serializable
private String joinTableName = null;
private Integer id = null;
//Getters and Setters
public String getSQLTypeName()
throws SQLException
return "MY_OBJECT";
public void readSQL(SQLInput stream, String typeName)
//No need to implement this
public void writeSQL(SQLOutput stream)
//No need to implement this
}The code that I used to call the PL/SQL procedure with an array of MY_OBJECT's is
//Sort out our array stuff
ArrayDescriptor desc = ArrayDescriptor.createDescriptor("MY_OBJECT_ARRAY", c);
ThresholdValidationCriteriaBean[] ba = new ThresholdValidationCriteriaBean[validationCriteria.size()];
//Populate array
ARRAY arrayToPass = new ARRAY (desc, c, ba);
//Create our statement
String sql = new String("{call ? := threshold.validateThresholdSequence(?,?,?,?) }");
ps = c.prepareCall(sql);
//Register our out parameter
((oracle.jdbc.OracleCallableStatement)ps).registerOutParameter(1, Types.INTEGER);
// Set the values to insert
ps.setInt(2, thresholdSequenceId);
ps.setDouble(3, testValue);
ps.setDate(4, new java.sql.Date(date.getTime()));
((oracle.jdbc.driver.OraclePreparedStatement)ps).setARRAY(5, arrayToPass);
//Execute call to PL/SQL
ps.execute(); Edited by: Yanis on 10-Mar-2008 13:17 -
Debugging PL/SQL using JDeveloper
Hi all,
I'm running JDeveloper 10.1.3.2.0 on Windows XP (32-bit) SP2 connecting to a Oracle 10g 10.2.1.0 (64-bit) on UNIX.
I have compiled the packages and procedure using JDeveloper and can run the procedure using SQL*Plus but I when I try to run the procedure in JDeveloper
the "Run PL/SQL" dialogue appears, the Messages window shows: "Connecting to the database oradb01". I click OK and nothing seems to happen.
I have been told by my DBA that I have all the prerequisites to debug PL/SQL so I wonder if I am missing something. Can anyone help?
Thanks all,
LGBrilliant. Thanks Shay,
The only thing I wasn't sure about was that I tried to use the IP address of my workstation (from ipconfig) in the DBMS_DEBUG_JDWP.CONNECT_TCP procedure and for some reason it wouldn't work, so I used the Windows full computer name instead and it worked fine.
Leo -
How to debug PL/SQL functions? Passing parameter and debugger error
Hi,
How to debug a PL/SQL function in JDeveloper? There are two problems with it:
1) Don't see how it's possible to pass parameters required by function call (in the dialog opening after Debug -> Debug FUNCTION_NAME)
2) In a function returning table_name%ROWTYPE (and having a record declaration for table_name%ROWTYPE), debug gives error:
PLS-00103: Encountered symbol "/" when expecting one of ... in line
v_Return PL/SQL RECORD;
Debugging procedures works as expected.
Found a similar question without answer here:
Debugging PL/SQL with parametersCheck
http://www.oracle.com/technology/obe/obe9051jdev/plsqlobe/obeplsql.htm#t2
Frank -
Calling a url from a pl/sql proc
HI!
I was wondering if anybody has code that they can share calling a url from a pl/sql proc.
Thanks!!Thanks - tell me if I am wrong but it does not seem to be what I need. does this package have the capabilities of doing the following... I want to call a pl/sql procedure - I am not in any browser window and by calling this proc it will bring up a browser window with the given url.
-
Debug PL/SQL in SQL Developer
I am not able to debug PL/SQL and i have following error please advice how I can enable privileges and I want to know the steps of debugging.
Connecting to the database My_connection.
Executing PL/SQL: ALTER SESSION SET PLSQL_DEBUG=TRUE
Executing PL/SQL: CALL DBMS_DEBUG_JDWP.CONNECT_TCP
ORA-01031: insufficient privileges
ORA-06512: at "SYS.DBMS_DEBUG_JDWP", line 68
ORA-06512: at line 1
This session requires DEBUG CONNECT SESSION and DEBUG ANY PROCEDURE user privileges.
Process exited.
Disconnecting from the database My_connection.
Thanks for your timePl do not post duplicates - https://forums.oracle.com/thread/2559861
-
Debugging PL/SQL blocks in SQL Developer
Is there any way to debug blocks of PL/SQL in SQL Developer by setting breakpoints in the code? I'm using SQL Developer.
I'm trying to debug some fairly complex PL/SQL blocks - they are not procedures or functions and so I'm unable to run them in debug mode.
p.s. Apologies should have posted this in the database forum really.
Edited by: Antilles on Sep 10, 2008 1:12 AMHello,
Sure you can, take a look at the following two links -
http://sueharper.blogspot.com/2006/07/remote-debugging-with-sql-developer_13.html
http://www.oracle.com/technology/oramag/oracle/08-may/o38browser.html
Hope this helps,
John.
http://jes.blogs.shellprompt.net
http://www.apex-evangelists.com -
How Can I Debug PL/SQL Package using Jdeveloper.
This forum is for feedback about the OTN site.
Here is the URL for the JDeveloper and ADF forum:
JDeveloper and ADF -
We have been searching for an effective debugging tool for
PL/SQL but have come up short. The issue that we have
encountered is that no tool that we have attempted to use will
show global package variables. Does anyone know of a product or
methodology that will do a complete job when debugging PL/SQL?
nullHi,
Try SQL-Programmer you can get free 60 days evaluation copy on
net www.sfi-software.com
bye
Kevin Middleton (guest) wrote:
: We have been searching for an effective debugging tool for
: PL/SQL but have come up short. The issue that we have
: encountered is that no tool that we have attempted to use will
: show global package variables. Does anyone know of a product
or
: methodology that will do a complete job when debugging PL/SQL?
null
Maybe you are looking for
-
Cannot Install Itunes 10.2.1 - am at my wits end. Please Please Please Help
Here Goes... I have just got a new laptop. Nothing special but easily meets the requirements of the Itunes 10.2.1. Im running Windows 7 (Id have a Mac, but Money constraints took over). This is my setup: Laptop HD - Drive C Portable HD - Drive I DVD/
-
-ITS A NEW COMPUTER -FIRST TIME INSTALLATION -FLASH ALREADY INSTALLED ON MS EXPLORER V 9 -WEB PAGES REQUEST TO INSTALL FLASH WHEN SURFING WITH MOZILLA THE INSTALLER WILL AUTOMATICALLY CONTINUE WHEN THESE CONFLICTING APPLICATION ARE CLOSED : MOZILLA F
-
How do I change (or delete) a theme?
I've got a movie ready to burn to a DVD and the movie has a theme in it that I don't want. I can't see where you delete it and when I go into the map view, I can click on it but I can't delete it. - Mark
-
Hi All, We have a portlet that allows users to configure a variable numbers of preferences and are striking an issue where one user has configured a large number of prefferences (approx. 70) and that then breaks the portlet and the prefs page. The on
-
How to get servername from a request but not the cluster name?
hi all, how do i get server name from the request? This is the scenario, When ever a request is made, its handed to a cluster and then directed to one of the server in the cluster. When i say request.getServerName();---- This is giving me the cluster