Error in a Select with a second Select in stored procedure.

Hi,
Can you help me please to know why this query works in a PL/SQL Console but not in a stored procedure.
Query :
SELECT
variable1,
variable2,
(SELECT sum(variables) FROM foo), <---- Error here
FROM
bar
this query works in console but if i compile a stored procedure with this i have the error :
Compilation errors for PACKAGE BODY INFOC.BSS
Error: PLS-00103: Encountered the symbol "SELECT" when expecting one of the following:
( - + mod not null others <an identifier>
<a double-quoted delimited-identifier> <a bind variable> avg
count current exists max min prior sql stddev sum variance
execute forall time timestamp interval date
<a string literal with character set specification>
<a number> <a single-quoted SQL string>
Line: 2804
For information, i use Oracle 8 and PL/SQL Developer
Thanks

In earlier versions of Oracle (like 8) there are some differences between the SQL engine and the SQL engine in PL/SQL. Things that work in SQL may not work on PL/SQL. I can replicate your error in my 8.1.7.4 instance, but it works correctly in my 9.2 instance. I don't have anything in between to test, so I can't tell you which version it will work on.
The workaround is to create a view in the database using the query, and query that view in your stored procedure.
HTH
John

Similar Messages

  • Issue with Executing OS commands from Stored Procedure

    I am trying to execute the scripts provided at :
    http://github.com/xtender/XT_SHELL
    provided by xtender user.
    As required, I have asked my DBAs to grant privileges by executing the following scripts:
    Begin
      --change to needed permissions and execute
      dbms_java.grant_permission( 'ODS', 'SYS:java.io.FilePermission', '/var/factiva/ODS/bin/CVIM_Rpt_ExportCSVFile’, 'read,write,execute' );
    end;
    /where CVIM_Rpt_ExportCSVFile is my script residing in the Unix server where my Oracle is installed.
    The error I am facing when I try to execute the following command is:
    select * from table(xt_shell.shell_exec('/var/scripts/CVIM_Rpt_ExportCSVFile',100))
    Exception:the Permission (java.io.FilePermission /var/scripts/CVIM_Rpt_ExportCSVFile execute) has not been granted to ODS. The PL/SQL to grant this is dbms_java.grant_permission( 'ODS', 'SYS:java.io.FilePermission', '/var/scripts/CVIM_Rpt_ExportCSVFile', 'execute' )I have asked my DBA to also execute the following scripts: - But I still see the same error as above. I am not able to figure out whats going on. Can anyone pls help me out??
    EXEC Dbms_Java.Grant_Permission('ODS', 'SYS:java.lang.RuntimePermission', 'writeFileDescriptor', '');
    EXEC Dbms_Java.Grant_Permission(ODS', 'SYS:java.lang.RuntimePermission', 'readFileDescriptor', '');
    dbms_java.grant_permission( 'ODS', 'SYS:java.io.FilePermission', '/var/scripts/CVIM_Rpt_ExportCSVFile', 'execute' )

    DUPLICATE
    ===============================================================
    Issue with Executing OS commands from Stored Procedure
    ==============================================================

  • Fake update or select with (udplock) or select with (updlock, rowlock)?

    I need  to block some rows to control the concurrency. I have this table:
    Table(ID, Concurrency...)
    Concurrency is a nullable bit that is only used to do the fake update.
    I need to block the row to avoid that the row is selected by a second process one the first select it. So by the moment I am doing:
    begin tran
    Update Table set Concurrency = Concurrency where ID = 123
    --My process
    commit
    In this case, when two process execute the same code, the first one block the row with ID 123 and the second process has to wait until the first process ends.
    I am trying to use hints for this, to avoid the need of the fake update, because I guess that has worst performance than a select, so I have tried something like that:
    begin tran
    select * from Table with(rowlock, xlock) where ID = 123
    commit
    With serializable isolation level too, that is the most restrictive, but sometimes, with some conditions in the where, the row is not blocked. So that is the reason why I am using the fake update, because the update works always.
    However, I have read that I can use the hint UPDLOCK, that seems that locks the row in the select, but how it is a hint, I am not sure if this solution block always the row or sometimes doesn't do it, like the rowlock, xlock. I have tested this and it seems
    that works, but when I use an ID as condition, I don't know if it works in all cases.
    Another alternative that I have seen is with (UPDLOCK, ROWLOCK). What is the difference? Because with only UPDLOCK only locks the rows affected by the conditions in the where, so I am not sure why to use ROWLOCK too.
    What I want is to ensure that I block the row until the process has finished.
    There are any other alternative to block a row to avoid the select?
    Thank so much.

    First of all, have you looked at application locks? Maybe this is what's need rather than fake updates?
    UPDLOCK is a hint on the same parity as XLOCK. XLOCK takes out an exclusive lock, and no other process can access the row. But some the engine dodges the lock it seems.
    UPDLOCK does not prevent other process from reading the row with a regular shared lock. However, only one process at a time can have an Update lock on a row. The purpose for an UPDLOCK is to mark that you intended to update the row later.
    ROWLOCK controls the granuality, and since row lock is the default lock granularity it should not be needed in very many cases.
    Erland Sommarskog, SQL Server MVP, [email protected]

  • Why can't I make a selection with my path selection tool?

    While following a tutorial, I am now unable to make a path selection.  I know how to select a path, have done it before, but now my path selct tool does not select a path.  Did I change settings or something else that I am not aware of?  Any help would be appreciated.

    A changed setting may not be your problem.
    One pertinent question is: Can you SEE the path you are trying to select ? That is, do you see the thin line that Photoshop uses to show you the locus of points that define your path. This is distinct from the stroke that you may have applied to the path and distinct from the fill which you may have put within your path. The point being that if you cannot see the path you cannot select it.  If you cannot see the path go to the paths panel and left click on the path of interest. This will show you the path line and then with your path selection tool active clicking on any part ofthe path line will select the path.
    By the way, depending on path fills and path strokes that may be present it may be difficult to see the path line.
    Paulo

  • Getting error code 1 when calling SSIS package from a stored procedure (SQL Server 2008 R2)

    Hello,
    I am trying to execute a SSIS package from SQL Server 2008 R2 stored procedure but getting error code 1 (as per my knowledge, error code description is as below:
    0 The package executed successfully.
    1 The package failed.
    3 The package was canceled by the user.
    4 The utility was unable to locate the requested package. The package could not be found.
    5 The utility was unable to load the requested package. The package could not be loaded.
    6 The utility encountered an internal error of syntactic or semantic errors in the command line.
    Details:
    I have a stored procedure named "Execute_SSIS_Package" (see below sp) which executes 'Import_EMS_Response' SSIS package (when I execute this package directly from SQL Server BID it works fine it means package itself is correct) and calling
    it from SQL as:- EXEC Execute_SSIS_Package 'Import_EMS_Response'.
    Here I receives error code 1.
    Can anyone help me to resolve this issue please?
    Thanks in advance!
    CREATE PROCEDURE [dbo].[Execute_SSIS_Package]
     @strPackage nvarchar(100)
    AS
    BEGIN
     -- SET NOCOUNT ON added to prevent extra result sets from
     -- interfering with SELECT statements.
     SET NOCOUNT ON;
     DECLARE @cmd VARCHAR(8000)
     DECLARE @Result int
     DECLARE @Environment VARCHAR(100)
        SELECT @Environment = Waarde
     FROM  Sys_Settings
     WHERE Optie = 'Omgeving'
     --print @Environment
     SET @strPackage = '"\W2250_NGSQLSERVER\BVT\' + @Environment + '\' + @strPackage + '"'
     SET @cmd = 'dtexec /SQL ' + @strPackage +  ' /SERVER "w2250\NGSQLSERVER"  /Decrypt "BVT_SSIS" /CHECKPOINTING OFF /REPORTING E'
     --print @cmd
     EXECUTE @Result = master..xp_cmdshell @cmd, NO_OUTPUT
     --print @Result
    END

    It has something to do with the security.
    E.g. cmdshell is not enabled or the caller has not rights over the package.
    There could be a syntax error, too.
    I suggest you make the package runnable off a SQL Agent job then trigger the job from the stored proc with
    sp_start_job <job name>
    Arthur
    MyBlog
    Twitter

  • Problem with JDBC results calling simple stored procedure in VC 7.0

    Hi all,
    I am building a simple VC model which calls a stored procedure on a JDBC database. I have created the system in the portal, defined the alias and user mapping, the connection test is fine and the VC "find data" lists my bespoke stored procedure.
    The stored procedure is :
    CREATE PROCEDURE dbo.dt_getBieUsers
    AS
    select * from dbo.emailuserlink
    GO
    When I test it using query analyser, it returns 3 records each with the two fields I expect - user and email address.
    I drag the model onto the workspace in VC and create an input form ( with just a submit button ). i drag the result port out to create a table. This has no fields in it.
    I build and deploy as flex and the app runs, I click the submit button and SUCCESS! I get 3 records in my table each with 2 fields. The data is all correct. The problem with this is the fields are determined at runtime it seems.
    I go back to the table and add 2 columns "email" and "address".
    i build and deploy and run the app. Again I get 3 records, but this time the contents of all of the rows is not data, but "email" and "address". The data has been replaced by the header texts in all of the rows.
    Can anyone help? Why isn't the data being put in my columns as I would expect?
    I tried to build and deploy the app as Web Dynpro rather than Flex to see if it was a bug in Flex. The application starts but when I click the submit button to run the JDBC stored procedure I get a 500 Internal Server Error
    com.sap.tc.wd4vc.intapi.info.exception.WD4VCRuntimeException: No configuration is defined for the entry JDBCFunction
        at com.sap.tc.wd4vc.xglengine.XGLEngine.createComponentInternal(XGLEngine.java:559)
        at com.sap.tc.wd4vc.xglengine.XGLEngine.getCompInstanceFromUsage(XGLEngine.java:362)
        at com.sap.tc.wd4vc.xglengine.XGLEngine.getCompInstance(XGLEngine.java:329)
        at com.sap.tc.wd4vc.xglengine.wdp.InternalXGLEngine.getCompInstance(InternalXGLEngine.java:167)
        at com.sap.tc.wd4vc.xglengine.XGLEngineInterface.getCompInstance(XGLEngineInterface.java:165)
    The JDBC connection I am using has a connection URL of jdbc:sap:sqlserver://localhost;DatabaseName=BIEUSERS
    and a driver class of com.sap.portals.jdbc.sqlserver.SQLServerDriver
    Can anyone solve my wierd problems?
    Cheers
    Richard

    Hi Richard,
    After you drag and drop the data service, right click on it and choose "Test data service". Then click on "Execute" and after you see the result on the right, click on "Add fields" button (inside the same window). Now you'll see that the fields are on the tabel. This is required only for JDBC data services, since this data (how the resultset is built) is not know in DT and it needs to be run firest - then analysed and only then you have to add the fields to the table).
    Regards,
    Natty

  • How to retrieve 'long' column with 32K length in Java stored procedure

    For some reasons, we are not using CLOB, BLOB, or BFILE to store large objects and I have to live with LONG. So I wrote a Java stored procedure to insert, select and manipulate a LONG column by retrieving the LONG into a java.lang.String class (which happens to be the Java class mapped to the LONG SQL datatype). It all works fine as long as the length of the value being retrieved is less than the magic figure of 32767 bytes (which is the restriction on LONG and VARCHAR2 datatype in PL/SQL as well). So looks like Oracle's implementation of the JVM limits String values to a max of 32767 bytes. Suggestions on how to overcome this limitation (other classes that you suggest or do I have to move to files)?
    Thanks,
    Jeet
    null

    the jvm has nothing to do with it ...
    this is a pol/sql limitation on parameters in stored procedures.
    and java stored procedures require a clal spec that makes the j-s-p look like a pl/qsl stored proc.

  • Joining java array with SQL table in a stored procedure

    Hey,
    I am calling a pl/sql stored procedure from a java program passing two arrays (employees) and (departments) as parameters to the procedure. Within the procedure I have stored the arrays in a table of records like this:
    type t_emp_type is record (employee_id number, department_id number);
    type t_emp_tbl_type is table of t_emp_type index by binary_integer;
    Where all elements in employees are stored in the employee_id column and departments are stored in the department_id column. So basically I've got a table like:
    l_employee_tbl t_emp_tbl_type;
    Looped through the arrays and stored the data like:
    for i in 1..p_employees.count loop
    l_employee_tbl(i).employee_id := p_employees(i);
    l_employee_tbl(i).deparment_id := p_departments(i);
    end loop;
    Now I would like to compare my l_employee_tbl with a SQL table in the database. Basically I would like to join my l_employee_tbl table with a SQL table named departments on department_id, returning all department_id:s that was not found in table departments.
    However, it is not possible to select from a user-defined table type. I have also tried to use the table() function and to cast l_employee_tbl, but found out it can't be done with records. And I would really like to use records or some other type where define my PL/SQL data. I know that you should not mix PL/SQL and SQL but in this case I think it is more efficient to try joining these "tables". Does anyone have a solution for this or advice to try something else out? It would be most appreciated.
    Edited by: 963281 on 2012-okt-04 14:25
    Edited by: 963281 on 2012-okt-05 01:53

    963281 wrote:
    I am calling a pl/sql stored procedure from a java program passing two arrays (p_employees) and (p_departments) as parameters to the procedure. Within the procedure I have stored the arrays in a table of records like this:
    type t_emp_type is record (employee_id number, department_id number);
    type t_emp_tbl_type is table of t_emp_type index by binary_integer;Why do you create an associative array?
    Now I would like to compare my l_employee_tbl with a SQL table in the database. Basically I would like to join my l_employee_tbl table with a SQL table named departments on department_id, returning all department_id:s that was not found in table departments. Of course, not possible as the SQL engine does not support PL/SQL user defined types. PL/SQL however support user defined SQL types. Which makes SQL defined types a lot more flexible.
    However, it is not possible to select from a user-defined table type. I have also tried to use the table() function and to cast l_employee_tbl, but found out it can't be done with records. Never mind SQL and PL/SQL - as a generic programming data structure principle. How do you expect being able to cast an associative array (name-value pairs) to a standard array? The two data structures are very different. So I'm puzzled in how you expect to move a non-scalar name-value pair data structure into a non-scalar value only data structure?
    And I would really like to use records or some other type where define my PL/SQL data. Why exactly? If the Java or PL/SQL data structure is populated using SQL data and database data, and wanting to use that data structure in SQL, what is the point? Why pull SQL data into a client data structure at all then - surely it is far more performant and scalable to rather keep that data in the database, and do the joins/selects/filters/etc using SQL?
    There is also the issue of scalability of local data structures in PL/SQL. The PL/SQL engine runs inside an Oracle server process, consuming private process memory on the server. The bigger the data structures used in PL/SQL, the more server memory needs to be allocated to that server process. This does not scale. Especially not if 10 or more such server processes are running the same PL/SQL code and each server needs to grab large chunks of server memory.
    If the data from Java comes from another source (e.g. keyboard, etc), and you need a means of storing this data server-side for use by PL/SQL and SQL. There are 2 basic choices. PL/SQL arrays for smallish amounts of data - and basing these arrays preferable on SQL data types allowing the array to be used by both SQL and PL/SQL engines. If the amount of data is not smallish, then it should be stored in the SQL engine (database) as that is designed for that exact purpose. And if the data is transient, then a GTT (global temp table) structure can be used (and indexed for optimal access).

  • Issue with XSL transformation in Java Stored Procedure

    Hi,
    Am having issue applying XSL transformation in Java Stored procedure. I have loaded the java class as well as .XSL files through loadjava uility and their status in DB is VALID.
    Below is the code in the java stored procedure:
    public static String tranform(String strInputXML ){
    URL url = ClassLoader.getSystemClassLoader().getResource(first.xsl);
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    Document document = builder.parse(new ByteArrayInputStream (strInputXML.getBytes("UTF-8")));
    TransformerFactory tFactory = TransformerFactory.newInstance();
    StreamSource stylesource = new StreamSource(url.openStream());
    Transformer transformer = tFactory.newTransformer(stylesource);
    When I run this procedure, am getting following errors:
    {color:#ff0000}*ERROR: 'No such file or directory'*
    FATAL ERROR: 'Could not compile stylesheet'{color}
    My first.xsl file has reference to other excel file (Ex: &lt;xsl:include href="second.xsl"/&gt;) which seems to be causing this error. When I remove the reference, procedure is working fine.
    Pls let me know how to resolve this and read the .XSL file with references.
    Thanks,

    Hello,
    Thanks for the reply. Actually I have seen that post before creating this thread. I thought that I could make use of java mail to work around this problem. I created a java class that succesfully sends mail to SSL host. I tried to call this java class from pl-sql through java stored procedure. That did not work
    So, is this not supported in Oracle ? Please note that I have tested this in both 9i and 11g , in both the versions I got the error. You can refer to the code in the above post.
    Thanks
    Srikanth
    Edited by: user12050615 on Jan 16, 2012 12:17 AM

  • Master-Detail with 2 blocks based in stored procedure doesn't work.

    Hi. I'm Oscar and I'm new for here.
    I have a problem that i can't find the correct answer to solve it.
    Well. I've created a form with 2 blocks. Both of them have the Query Data Source Type Property to "Procedure", and both procedures on database returns one ref cursor of a record type each one.
    BLOCK BL_COMPETICIONES --> query data source: p_get_competiciones (p_Cursor is cursor of record (CODIGO NUMBER,
    NOMBRE VARCHAR2(50),
    SETCRICKETSN VARCHAR2(1),
    SET01SN VARCHAR2(1),
    FECHAINICIO DATE,
    FECHAFIN DATE).
    On triggers (on-lock, on-insert, on-delete and on-update) I have the call to the corresponding stored procedure to lock, insert, delete or update.
    Well, when i've only this block in form, the form works correctly.
    But when I added a second block (which is suppossed to be a detailed data from the first one), and after I've assigned the query procedure and created the relation between both blocks, then run the form and try to execute query on first block, returning records correctly, but then, when execution goes to the program unit "query_master_details", the sentence "execute query" doesn't do anything (and the cursor is in the detailed block), so detailed block continues to be without records.
    I don't know how to solve this. Someone can help me, please?. Thanks.
    Edited by: user5067020 on 09-abr-2009 16:38

    It could be that there is something screwy with LV, but given that it uses standard interfaces for comm with the DBMS, I would not expect that. A much more realistic possibility is that the toolkit is mucking things up. (A fairly common occurrence.)
    Try bypassing the toolbox -- which you don't really need anyway -- an talk directly to the ActiveX or .net interface.
    Also, what DBMS? What drivers are you using?
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • Problem with execute SSIS package from stored procedure

    Hi,
    I would like to execute SSIS package from stored procedure. Therefore, I implemented sp which exec SSISDB.CATALOG.CREATE_EXECUTION method. When I try to test it from SSMS on remote server, I got error that
    I was able to solve by adding “WITH EXECUTE AS …”. Then I got another error: The server principal "Domain\user" is not able to access the database "SSISDB" under the current security context. On Internet, I found a couple post that describe
    how to access SSIS catalog (one of them by Ke Yang -
    http://blogs.msdn.com/b/mattm/archive/2012/03/20/ssis-catalog-access-control-tips.aspx). It didn’t help. I’m still getting the error message.
    How to debug this issue?
    Any suggestion?
    Thanks
    SQL Server 2014 BI

    SSMS does not propagate user credentials thus the error
    Arthur
    MyBlog
    Twitter

  • Invoking BPEL with large request payload from stored procedure

    Hi all,
    I have a stored procedure which invoke BPEL process. It is working fine with small payload (around 3000 characters). But some of the payload are as large as 75 to 100 thousand characters. I used the clob datatype for my soap envelop variable so that it can take more characters. But I am getting error if the payload size is large. Can someone help me figure how I am able to do this. Thanks.

    Hi James,
    Thanks for your response. What I need to do is, if any of the instance is failed in the first invokation, user can manual re-invoke the same process from the dashboard. I tried invoking bpel from ADF 11g and finally found out that it is not supported with SOA 10.1.3.4. (I can't use Data control as the payload is already in the database).
    I am invoking an Asynchronous process. So, it is not the timeout error. The same procedure went fine with the same process if the payload is small. I include one output parameter to send the message from the procedure back to ADF, and what Ifound out was if the payload is big, I got the exception right after "utl_http.write_text(l_http_request, l_soap_envelope);". Any hope that I can still use this without going to ODI?
    Thanks.
    SHY

  • Problem with comparion of clobs in stored procedure

    Hi ,
    i have a stored procedure which involves a clob variable and a string comparison.
    Below is my procedure
    CREATE OR REPLACE PROCEDURE TEMP_SP (
    empId IN VARCHAR2)
    IS
    tempStr CLOB :='Hello';
    finalStr CLOB :='world';
    BEGIN
    IF finalStr = 'xxx' THEN
    tempStr := ' ';
    finalStr := finalStr || empId;
    END IF;
    IF trim(finalSqltoCur) IS NOT NULL AND tempStr <> ' ' THEN
    finalStr := finalStr || ' and ' || tempStr;
    ELSE
    finalStr := finalStr || tempStr;
    END IF;
    dbms_output.put_line('=========final string value======' || finalStr);
    END TEMP_SP;
    I would like to know why it goes to the else block as tempStr <> ' ' will be true
    and trim(finalSqltoCur) IS NOT NULL also results as true.
    It would be great if some one could help me with this.
    Regards
    Shyam

    > trim(finalStr) IS NOT NULL AND tempStr <> ' '
    And this is (TRUE AND TRUE) and evaluates to TRUE - which means the ELSE block will not be executed,
    SQL> declare
    2 empId number := 123;
    3 tempStr CLOB :='Hello';
    4 finalStr CLOB :='world';
    5 begin
    6 IF finalStr = 'xxx' THEN
    7 tempStr := ' ';
    8 finalStr := finalStr || empId;
    9 END IF;
    10
    11
    12 IF trim(finalStr) IS NOT NULL AND tempStr <> ' ' THEN
    13 finalStr := finalStr || ' and ' || tempStr;
    14 ELSE
    15 finalStr := finalStr || tempStr;
    16 END IF;
    17
    18 DBMS_OUTPUT.put_line('=========final string value======' || finalStr);
    19 end;
    20 /
    =========final string value======world and Hello
    PL/SQL procedure successfully completed.
    SQL>
    Tested on Oracle 10.2.0.1.

  • Issue with sending mail through java stored procedure in Oracle

    Hello
    I am using Oracle 9i DB. I created a java stored procedure to send mail using the code given below. The java class works fine standalone. When its run from Java, mail is sent as desired. But when the java stored procedure is called from pl/sql "Must issue a STARTTLS command first" error is thrown. Please let me know if am missing something. Tried the same code in 11.2.0.2 DB and got the same error
    Error:
    javax.mail.MessagingException: 530 5.7.0 Must issue a STARTTLS command first. va6sm31201010igc.6
    Code for creating java stored procedure: (T1 is the table created for debugging)
    ==================================================
    create or replace and compile java source named "MailUtil1" AS
    import java.util.Enumeration;
    import java.util.Properties;
    import javax.mail.Message;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    public class MailUtil1 {
    public static void sendMailwithSTARTTLS(String host, //smtp.projectp.com
    String from, //sender mail id
    String fromPwd,//sender mail pwd
    String port,//587
    String to,//recepient email ids
    String cc,
    String subject,
    String messageBody) {
    try{
    Properties props = System.getProperties();
    props.put("mail.smtp.starttls.enable", "True"); // added this line
    props.put("mail.smtp.host", host);
    props.put("mail.smtp.user", from);
    props.put("mail.smtp.password", fromPwd);
    props.put("mail.smtp.port", port);
    props.put("mail.smtp.auth", "true");
    #sql { insert into t1 (c1) values ('1'||:host)};
    Session session = Session.getDefaultInstance(props, null);
    MimeMessage message = new MimeMessage(session);
    message.setFrom(new InternetAddress(from));
    #sql { insert into t1 (c1) values ('2')};
    InternetAddress[] toAddress = new InternetAddress[1];
    // To get the array of addresses
    for( int i=0; i < toAddress.length; i++ ) { // changed from a while loop
    toAddress[i] = new InternetAddress(to);
    //System.out.println(Message.RecipientType.TO);
    for( int i=0; i < toAddress.length; i++) { // changed from a while loop
    message.addRecipient(Message.RecipientType.TO, toAddress);
    if (cc!=null) {
    InternetAddress [] ccAddress = new InternetAddress[1];
    for(int j=0;j<ccAddress.length;j++){
    ccAddress[j] = new InternetAddress(cc);
    for (int j=0;j<ccAddress.length;j++){
    message.addRecipient(Message.RecipientType.CC, ccAddress[j]);
    message.setSubject(subject);
    message.setText(messageBody);
    message.saveChanges();
    #sql { insert into t1 (c1) values ('3')};
    Enumeration en = message.getAllHeaderLines();
    String token;
    while(en.hasMoreElements()){
    token ="E:"+en.nextElement().toString();
    #sql { insert into t1 (c1) values (:token)};
    token ="ConTyp:"+message.getContentType();
    #sql { insert into t1 (c1) values (:token)};
    token = "Encod:"+message.getEncoding();
    #sql { insert into t1 (c1) values (:token)};
    token = "Con:"+message.getContent();
    #sql { insert into t1 (c1) values (:token)};
    Transport transport = session.getTransport("smtp");
    #sql { insert into t1 (c1) values ('3.1')};
    transport.connect(host, from, fromPwd);
    #sql { insert into t1 (c1) values ('3.2')};
    transport.sendMessage(message, message.getAllRecipients());
    #sql { insert into t1 (c1) values ('3.3')};
    transport.close();
    #sql { insert into t1 (c1) values ('4')};
    catch(Exception e){
    e.printStackTrace();
    String ex= e.toString();
    try{
    #sql { insert into t1 (c1) values (:ex)};
    catch(Exception e1)
    Edited by: user12050615 on Jan 16, 2012 12:18 AM

    Hello,
    Thanks for the reply. Actually I have seen that post before creating this thread. I thought that I could make use of java mail to work around this problem. I created a java class that succesfully sends mail to SSL host. I tried to call this java class from pl-sql through java stored procedure. That did not work
    So, is this not supported in Oracle ? Please note that I have tested this in both 9i and 11g , in both the versions I got the error. You can refer to the code in the above post.
    Thanks
    Srikanth
    Edited by: user12050615 on Jan 16, 2012 12:17 AM

  • Error when executing report with large data selection in Infoview

    Hello,
    This is regarding Error we are facing in BO system.
    We have installed:
    Business Object Enterprise XI 3.1
    Crystal report 2008
    When we are trying to execute report in BO INFOVIEW on production  system, we are facing following error (After 10 mins of execution).
    ========================================================================================
    Windows Internet Explorer
    Stop running this script?
    As script on this page is causing Internet Explorere to tun slowly.
    If it continues to run, your computer might become
    unresponsive.
    ========================================================================================
    Please note: We are getting data via Crytal report. Only, execution in infoview is giving error.
    If we are executing same report with less data(E.g a days data) then we are getting output in Infoview.
    However, when we execute report with more data (6 months data) then we are getting attached error after 10 min of execution time.
    Helpfull reply will be awarded.
    Regards.
    Edited by: Nirav Shah on Dec 14, 2010 6:19 AM

    If it is indeed a server timeout issue, the following document might be usefull: http://www.sdn.sap.com/irj/boc/index?rid=/library/uuid/606e9338-bf3e-2b10-b7ab-ce76a7e34432
    It's about Troubleshooting Time-outs in BusinessObjects Enterprise XI, but  a lot is still applicable.
    Hope this helps...
    Martijn van Foeken
    Focuzz BI Services
    http://www.focuzz.nl
    http://nl.linkedin.com/in/martijnvanfoeken
    http://twitter.com/mfoeken

Maybe you are looking for

  • Publish of product catalogue cancelled by system shutdown

    Hi, We have an issue in SRM 4.0 where the publication of the product catalogue was running when the system was shutdown. The job has the status of cancelled in SM37 but the status of the catalogue publication is status 'R' (Running). This stops this

  • PHOTO BOOTH problem with disapearing photos

    Hi, Im having problems with photo booth... why isnt there a photo booth discussion board? Anyway.. my photos seem to disappear from the menu at the bottom after a period of time. When i go into the photo booth folder to find the photos, i find that t

  • IISProxy.dll error

    This is the set up we have currently.           Nt 4.0 server with IIS 4.0. I have followed the WebLogic 5.1 documentation           and made the root web executable then mapped the extensions .jsp and .jhtml           to c:\weblogic\iisproxy.dll.   

  • RoboHelp 8 - All Files Unrecognized

    I upgraded a RoboHelp 6 project to RoboHelp 8. It worked okay for awhile (very slow and many style issues), but okay. Now, any topic that I try and open, RoboHelp tries to open a new project and then I get the following messgae: The file "xxxx.htm" i

  • Multiple speakers without multiple expresses

    Is there a way to have a mac-mini control many speakers with iTunes without the hardware burden and radiation burden of many airport expresses? I wired up my house with lots of speakers all over the place, and the wires all go to one location. Ideall