Strange behaviour of hierarchical query

Hi,
there is two tables T(P,PK,...) (with hierarchy) and S(ID,IDS,....) with additional data.
I take query:
select S.IDS from T, S
where T.PK=S.ID
start with P=start number
connect by prior PK=P
Query work fine and return rows ...
but when I add another where condition
select S.IDS from T, S
where T.PK=S.ID and S.IDS=searched number
start with P=start number
connect by prior PK=P
query do not return rows even when searched number is in set returned by first query without additional condition.
It seems to me strange ... thanks for idea

Hi,
The subquery match's the outer query rows.
In this event the IN condition returns FALSE. Hence the query runs with out any error.
As IN is concern the condition will look for True Or False Only.Error will happen only if any syntax issue else the query will still run.
you can mention any coulmn name of outer query in subquery eventhough they dont exisit , the inner query can reference the outer query's column names.
I hope you are clear on this...........
Raj.
Edited by: infant_raj on May 4, 2009 7:44 AM

Similar Messages

  • Strange behaviour of JDBC query for CHAR column

    Hi,
    I have a simple table with char type and several records in the table.
    create table char_test(str char(50));
    insert into char_test values ('abc');
    insert into char_test values ('abc ');
    insert into char_test values ('abc ');
    In JDBC, if I have a query like
    PreparedStatement st = conn.prepareStatement("select str from char_test where str = 'abc'");
    ResultSet rs = st.executeQuery();
    All three rows will be returned.
    However, If I use parameter for the PreparedStatment, nothing will be returned if the value of the parameter is passed as "abc".
    PreparedStatement st = conn.prepareStatement("select str from char_test where str = ?");
    st.setString(1, "abc");
    ResultSet rs = st.executeQuery();
    Personally, I think this is a bug of Oracle JDBC driver. Could anybody please give me any explanation?
    Thanks,
    Bill
    PS. I'm using Oracle 10g Release 2 DB and ojdbc14.jar under jdk 1.5.

    Hello Bill,
    Have you solved your problem ?
    I have encountered a similar one and found a strange behavior of JDBC driver for PrepareStatement : in some cases, deep in JDBC driver, the parameter values could'nt be convert and are send as null values to the server.
    Here are partial driver logs, the first for a program which works fine and the second for one which turns on error.
    ============================
    <record>
    <date>2006-09-06T16:27:43</date>
    <millis>1157552863218</millis>
    <sequence>335</sequence>
    <logger>oracle.jdbc.conversion</logger>
    <level>FINE</level>
    <class>oracle.jdbc.driver.DBConversion</class>
    <method>javaCharsToCHARBytes</method>
    <thread>10</thread>
    <message>DBConversion.javaCharsToCHARBytes(chars[]= (26 bytes):
    00 0c 00 65 00 78 00 70 00 73 00 74 00 6f 00 0a 00 73 00 6c
    00 65 00 65 00 70 , charOffset=1, bytes[]= (7 bytes):
    00 00 00 00 00 00 00 , byteOffset=0, cs=178, nchars=6)</message>
    </record>
    <record>
    <date>2006-09-06T16:27:43</date>
    <millis>1157552863218</millis>
    <sequence>336</sequence>
    <logger>oracle.jdbc.conversion</logger>
    <level>FINE</level>
    <class>oracle.jdbc.driver.DBConversion</class>
    <method>javaCharsToCHARBytes</method>
    <thread>10</thread>
    <message>DBConversion.javaCharsToCHARBytes(chars, nchars, bytes[], cs): returned 6</message>
    </record>
    =============================
    javaCharsToCHARBytes gets 6 characters OK
    =============================
    <record>
    <date>2006-09-06T16:12:32</date>
    <millis>1157551952843</millis>
    <sequence>333</sequence>
    <logger>oracle.jdbc.conversion</logger>
    <level>FINE</level>
    <class>oracle.jdbc.driver.DBConversion</class>
    <method>javaCharsToCHARBytes</method>
    <thread>10</thread>
    <message>DBConversion.javaCharsToCHARBytes(chars[]= (40 bytes):
    00 26 00 73 00 74 00 6f 00 72 00 61 00 67 00 65 00 5f 00 53
    00 74 00 6f 00 72 00 65 00 2e 00 71 00 75 00 65 00 72 00 79 , charOffset=1, bytes[]= (20 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 , byteOffset=0, cs=178, nchars=19)</message>
    </record>
    <record>
    <date>2006-09-06T16:12:32</date>
    <millis>1157551952843</millis>
    <sequence>334</sequence>
    <logger>oracle.jdbc.conversion</logger>
    <level>FINE</level>
    <class>oracle.jdbc.driver.DBConversion</class>
    <method>javaCharsToCHARBytes</method>
    <thread>10</thread>
    <message>DBConversion.javaCharsToCHARBytes(chars, nchars, bytes[], cs): returned 0</message>
    </record>
    =============================
    javaCharsToCHARBytes gets 0 characters instead of 19
    But I am unable to discover the differences between the 2 programs in the JDBC driver usage.
    Does this sounds familiar to someone ?
    François

  • Strange behavior in inner query with group by clause

    Hi All,
    I found a very strange behaviour with Inner query having a group by clause.
    Please look the sample code
    Select b,c,qty from (select a,b,c,sum(d) qty from tab_xyz group by b,c);
    This query gives output by summing b,c wise. But when i run the inner query it gives error as "not a group by expression "
    My question is - though the inner query is wrong, how is it possible that this query gives output.
    it behaves like -
    Select b,c,qty from (select b,c,sum(d) qty from tab_xyz group by b,c);
    Is it a normal behaviour ?
    If it is a normal behaviour, then how group by behaves inside a inner query.
    Thanks !!

    This case I have tested already and it throws error.
    But why the initial posted query is not throwing
    error even the inner query is wrong.
    In what way oracle behaves for the initial posted
    query?what is the scenario that throws the error? is it at the time when you only run the inner query or the whole query?

  • Strange behaviour after querying a friendly device name

    Hi,
    I have observed some very strange behaviour after querying the friendly name of an audio capturing device. This is my code:
    #include "stdafx.h"
    #include <mmdeviceapi.h>
    #include <Functiondiscoverykeys_devpkey.h>
    int main(int argc, char *argv[]) {
        HRESULT hr = CoInitializeEx(0, COINIT_APARTMENTTHREADED);
        if(FAILED(hr)) throw;
        IMMDeviceEnumerator *pIMMDeviceEnumerator = 0;
        hr = CoCreateInstance(__uuidof(MMDeviceEnumerator), 0, CLSCTX_INPROC_SERVER, __uuidof(IMMDeviceEnumerator), (LPVOID *) &pIMMDeviceEnumerator);
        if(FAILED(hr)) throw;
        IMMDeviceCollection *pIDeviceCollection = 0;
        hr = pIMMDeviceEnumerator->EnumAudioEndpoints(eCapture, DEVICE_STATE_ACTIVE, &pIDeviceCollection);
        if(FAILED(hr)) throw;
        IMMDevice *pIMMDevice = 0;
        hr = pIDeviceCollection->Item(0, &pIMMDevice);
        if(FAILED(hr)) throw;
        IPropertyStore *pIPropertyStore = 0;
        hr = pIMMDevice->OpenPropertyStore(STGM_READ, &pIPropertyStore);
        if(FAILED(hr)) throw;
        PROPVARIANT propVariant;
        PropVariantInit(&propVariant);
        pIPropertyStore->GetValue(PKEY_Device_FriendlyName, &propVariant);
        PropVariantClear(&propVariant);
        pIPropertyStore->Release();
        pIMMDevice->Release();
        pIDeviceCollection->Release();
        pIMMDeviceEnumerator->Release();
        CoUninitialize();
        return -1;
    Please ignore the strange error handling, it's just to make the example code short.
    The problem is the return value (as can be seen in the output window of Visual Studio after running the program or using "echo %errorlevel%" in cmd.exe). Certainly, one would expect to get -1. However, I get 0 instead of -1. What makes this
    really strange is that -1 is properly returned when the line "pIPropertyStore->GetValue..." is commented out. Why does this have any effect on the return value of the process? I have observed this on two different Window 7 machines with different
    soundcard configurations. However, I did another test on a Windows 8.1 machine, where everything worked correctly.
    Can anyone explain what's going on here?
    Thanks,
    Holger

    OK, here's what's going on.
    Everything goes fine until main() exits.
    At that point, mmdevapi.dll's DllMain is called with lpReserved set to a non-NULL value, which is to say, "don't bother to clean up."
    mmdevapi.dll decides to clean up anyway (for shame) and calls into some SetupAPI.dll functions.
    SetupAPI.dll is waiting on a critical section, but at that point ntdll.dll kicks in and says "you know what, the process is shutting down, and this is the last thread, so I can guarantee you this critical section will never be set." ntdll.dll then
    terminates the process, and main()'s exit code is lost.
    Matthew van Eerde

  • Strange behaviour of Runtime.getRuntime().exec(command)

    hello guys,
    i wrote a program which executes some commands in commandline (actually tried multiple stuff.)
    what did i try?
    open "cmd.exe" manually (administrator)
    type "echo %PROCESSOR_ARCHITECTURE%" and hit enter, which returns me
    "AMD64"
    type "java -version" and hit enter, which returns me:
    "java version "1.6.0_10-beta"
    Java(TM) SE Runtime Environment (build 1.6.0_10-beta-b25)
    Java HotSpot(TM) 64-Bit Server VM (build 11.0-b12, mixed mode)"
    type "reg query "HKLM\SOFTWARE\7-zip"" returns me:
    HKEY_LOCAL_MACHINE\SOFTWARE\7-zip
    Path REG_SZ C:\Program Files\7-Zip\
    i wrote two functions to execute an command
    1) simply calls exec and reads errin and stdout from the process started:
    public static String execute(String command) {
              String result = "";
              try {
                   // Execute a command
                   Process child = Runtime.getRuntime().exec(command);
                   // Read from an input stream
                   InputStream in = child.getInputStream();
                   int c;
                   while ((c = in.read()) != -1) {
                        result += ((char) c);
                   in.close();
                   in = child.getErrorStream();
                   while ((c = in.read()) != -1) {
                        result += ((char) c);
                   in.close();
              } catch (IOException e) {
              return result;
         }the second function allows me to send multiple commands to the cmd
    public static String exec(String[] commands) {
              String line;
              String result = "";
              OutputStream stdin = null;
              InputStream stderr = null;
              InputStream stdout = null;
              // launch EXE and grab stdin/stdout and stderr
              try {
                   Process process;
                   process = Runtime.getRuntime().exec("cmd.exe");
                   stdin = process.getOutputStream();
                   stderr = process.getErrorStream();
                   stdout = process.getInputStream();
                   // "write" the parms into stdin
                   for (int i = 0; i < commands.length; i++) {
                        line = commands[i] + "\n";
                        stdin.write(line.getBytes());
                        stdin.flush();
                   stdin.close();
                   // clean up if any output in stdout
                   BufferedReader brCleanUp = new BufferedReader(
                             new InputStreamReader(stdout));
                   while ((line = brCleanUp.readLine()) != null) {
                        result += line + "\n";
                   brCleanUp.close();
                   // clean up if any output in stderr
                   brCleanUp = new BufferedReader(new InputStreamReader(stderr));
                   while ((line = brCleanUp.readLine()) != null) {
                        result += "ERR: " + line + "\n";
                   brCleanUp.close();
              } catch (IOException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              return result;
         }so i try to execute the commands from above (yes, i am using \\ and \" in java)
    (1) "echo %PROCESSOR_ARCHITECTURE%"
    (2) "java -version"
    (3) "reg query "HKLM\SOFTWARE\7-zip""
    the first function returns me (note that ALL results are different from the stuff above!):
    (1) "" <-- empty ?!
    (2) java version "1.6.0_11"
    Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
    Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)
    (3) ERROR: The system was unable to find the specified registry key or value.
    the second function returns me:
    (1) x86 <-- huh? i have AMD64
    (2) java version "1.6.0_11"
    Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
    Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)
    (3) ERROR: The system was unable to find the specified registry key or value.
    horray! in this version the java version is correct! processor architecture is not empty but totally incorrect and the reg query is still err.
    any help is wellcome
    note: i only put stuff here, which returns me strange behaviour, most things are working correct with my functions (using the Runtime.getRuntime().exec(command); code)
    note2: "reg query "HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0" /t REG_SZ" IS working, so why are "some" queries result in ERR, while they are working if typed by hand in cmd.exe?

    ok, i exported a jar file and execute it from cmd:
    java -jar myjar.jar
    now the output is:
    (1) "" if called by version 1, possible to retrieve by version 2 (no clue why!)
    (2) "java version "1.6.0_10-beta"
    Java(TM) SE Runtime Environment (build 1.6.0_10-beta-b25)
    Java HotSpot(TM) 64-Bit Server VM (build 11.0-b12, mixed mode)"
    (3) C:\Program Files\7-Zip\
    so all three problems are gone! (but its a hard way, as i need both functions and parse a lot of text... :/ )
    thanks for the tip, that eclipse changes variables (i really did not knew this one...)

  • Strange behaviour from new 2012R2 in old domain

    Hi all,
    At work (education level), I'm starting to take charge of windows admin, so beiing a noob admin I'm finding strange behaviours that I hope you can help me solve them all :-)
    We've one (big) domain with about 5000 computers (workers and students all together), and around 50000 users (again, workers and students all together) setup like this:
    DC-DOMAIN-1:
    Windows Server 2008R2
    Shares NETLOGON and SYSVOL
    DC-DOMAIN-2:
    Windows Server 2003 R2 x64
    Shares CertEnroll, NETLOGON, SMSLOGON, SYSVOL
    Checking RootDSE, I see 'domainControllerFunctionaly is Windows 2003' (DC-DOMAIN-2)
    So, with this setup, I've noticed these strange behaviours, hope list isn't too big  (guess there will be more behaviours but these seemed too odd):
    1) On DC-DOMAIN-2, WinServer 2003 eventlog, inside 'Directory Service', I found this warning event ID 1083 (Source NTDS Replication):
    Active Directory could not update the following object with changes received from the domain controller at the following network address because Active Directory was busy processing information.
    Object:CN=<an user name>, CN=Users, DC=DOMAIN
    Usually followed by an information event (eventid 1955) which says:
    ctive Directory encountered a write conflict when applying replicated changes to the following object.
    Object:
    <SAME USER OBJECT THAN PREVIOUS EVENT ID>
    Time in seconds:
    0
    Event log entries preceding this entry will indicate whether or not the update was accepted.
    A write conflict can be caused by simultaneous changes to the same object or simultaneous changes to other objects that have attributes referencing this object. This commonly occurs when the object represents a large group with many members, and the functional level of the forest is set to Windows 2000. This conflict triggered additional retries of the update. If the system appears slow, it could be because replication of these changes is occurring.
    User Action
    Use smaller groups for this operation or raise the functional level to Windows Server 2003.
    And having as result that user being blocked in domain.
    2) I've added a new print server based on Windows Server 2012R2 (running inside an updated ESX 5.5 with VMXNET3 ethernet adapter as recommended by vmware), and seen in the event viewer these warnings/errors:
    At System log:
    Error Event ID 5783, Source NETLOGON:
    The session setup to the Windows NT or Windows 2000 Domain Controller \\DC-DOMAIN-2.fulldns.name for the domain DOMAIN is not responsive. The current RPC call from Netlogon on \\PRINTSERVER to \\DC-DOMAIN-2.fulldns.name has been cancelled.
    I've seen Event ID 5783 with DC-DOMAIN-1 too....
    Error Event ID 5719, Source NETLOGON:
    This computer was not able to set up a secure session with a domain controller in domain DOMAIN due to the following:
    The remote procedure call failed and did not execute.
    This may lead to authentication problems. Make sure that
    this computer is connected to the network. If the problem persists, please contact your domain administrator.
    ADDITIONAL INFO:
    If this computer is a domain controller for the specified domain, it sets up the secure session to the primary domain controller emulator in the specified domain. Otherwise, this computer sets up the secure session to any domain controller in the specified domain.
    At Microsoft-Windows-TerminalServices-RemoteConnectinoManager/Admin found also this warning:
    Warning Event ID 20499 Source TerminalServices-RemoteConnectionManager:
    Remote Desktop Services has taken too long to load the user configuration from server \\DC-DOMAIN-2.fulldns.name for user administrator
    3) If I try Group Policy Modeling on DC-DOMAIN-1 (server 2008R2), everything works fine, no matter if I try it against DC-DOMAIN-1 or DC-DOMAIN-2, but if I try this from the Server 2012R2 (the one from point 2), I get this:
    Simulation against DC-DOMAIN-2: Gets executed, but all GPO show as inaccessible, empty or disabled.
    Simulation against DC-DOMAIN-1: Sometimes it gets executed as DC-DOMAIN-2, sometimes I get an error saying query can't be executed.
    4) From server 2012R2, I usually manage printing GPO. If I click on the domain root (GPMC, forest, Domains, DOMAIN-NAME-ROOT) right pane, I get a pop up saying: 
    'A processing error ocurred collecting data using this base domain controller. Please change the base domain controller and try again'
    After closing popup, right pane says something like 'DC-DOMAIN-2.fulldns.name' is the baseline domain controller for this domain.
    No infrastructure Status information exists for this domain.
    Click the Detect Now button below to gather infrastructure status from all of the domain controllers in this domain.
    Pressing 'Detect Now' does nothing, and trying to select New Baseline DC shows again same pop up than before.
    5) Last, but not least, I've feeling that GPO takes too much to apply. I've found scenarios in which even after executing 'gpupdate /force' correctly on client computer either local or domain admin, I can't see the new changes (gpresult says it has been
    updated though). But couldn't find anything on eventlog that informs about problems with GPOs...
    For all these strange behaviours I've noticed in last month that I started checking things as sys admin, I believe domain is damaged, or something is wrong there (not just my new server 2012R2, even if it's running inside an ESX, blehh), so please, any hint
    on what to check, what to change, what to fix, would be highly appreciated.
    Thanks in advance.

    Hi Paul,
    Honestly, I'm still trying to figure out all broken things reported by tests :( Guess Jesper's suggestion about adding a new 2008 DC to get rid of 2003 and start checking again after that may be best option.
    I'll try to summarize list of things I believe are wrong:
    running
    DCDIAG /V /C /D /E /s:yourdcname > c:\dcdiag.log  for every DC, shows different errors. They show things such as:
    another domain running here (not administered by us, only relationship is that our users are shared with that domain, nothing else) appear when Printing out pDsInfo (as if they were DC of our domain too, but they do not even share RootDomain). Guess it
    may be for a bug old sys admin had when clonning from his 2008R2 template, that forgot to change SID... I already noticed 1 year ago our print server shared SID with those DC, guess there may be more servers sharing SID too :-(
    Within Starting test: Replications, I see few messages at Replication Latency Check, such as the one for CN=Schema, CN=Configuration, DC=<ourdomain>: 
    Latency information for 35 entries in the vector were ignored.
                      35 were retired Invocations.  0 were either: read-only replicas and are not verifiably latent, or dc's no longer replicating this nc.  0 had no latency information (Win2K DC)
    On Services test, I see an 
       Invalid service type: RpcSs on DC-DOMAIN-3, current value
                WIN32_OWN_PROCESS, expected value WIN32_SHARE_PROCESS
    On SystemLog, I see LOTS of warnings/errors such as:
    A warning event occurred.  EventID: 0x80000002
                Time Generated: 07/28/2014   08:21:54
                (Event String (event log = System) could not be retrieved, error
                0x503)
             An error event occurred.  EventID: 0xC0000003
                Time Generated: 07/28/2014   08:22:18
                (Event String (event log = System) could not be retrieved, error
                0x3afc)
    Missing entries on DNS (we've a static DNS)
    netdiag.exe /v > c:\netdiag.log Showed again DNS problems such as our primary DNS pointing to all DC, secondary
    DNS pointing just to DC with FSMO roles,...
    repadmin.exe /showrepl * /verbose /all /intersite > c:\repl.txt  Gave no errors, now I must check in detail
    if every replica is correct
    And finally,
    dnslint /ad /s "ip address of your dc"  gave more DNS problems:
    One or more DNS servers may not be authoritative for the domain
    One or more DNS servers did not respond to UDP queries
    One or more zone files may have expired
    SOA record data was unavailable and/or missing on one or more DNS servers
    Sumarizing, guess it will be better to fix DNS problems, promote new 2008R2 DC to get rid of 2003 one, promote domain to 2008 too, check again for messages and relationship with other domain, and then come back here for support if needed 
    EDIT: Almost forgot to talk about SYSVOL folder. As said before, there are 426 GPO folders inside Policies. Of them, 375 have an inetres.adm files in it (smallest one 1398 KB, almost all of them 2307 or 2707 kb).... 

  • How to delete duplicates in oracle 10g ( strange behaviour)

    Recently we migrated from oracel 8i to oralce 10g and we face this problem.
    When we try to delete duplicates using rowid ( analytical functions row_number()/
    or normal delete ) and commit the same , still we find some duplicates to be existing because of which we are not able to enable costriants and resulting in process failure.
    When we run the same delete statement next time it removes more duplicates than the required or sometimes required duplicates resulting in abnormal behaviour.
    I don not understand this strange behaviour after upgrading to oracle 10g.
    It'd be great if some one who has idea on this can throw light on the same.
    thanks

    Gasparotto,
    Thanks a lot for letting me know a new procedure to delete duplicates sing lead function.
    I've tried this code on a temp table and it worked, let me use the same query on the prodn side and test the same.
    Procedure for deletion of duplicates using lead analytical function.
    create table temp ( col1 number(2) , col2 number(2) , col3 number(2));
    insert into temp values ( 1,2,10);
    insert into temp values ( 1,2,20);
    insert into temp values ( 1,2,30);
    insert into temp values ( 3,2,10);
    insert into temp values ( 3,4,12);
    insert into temp values ( 3,4,45);
    commit;
    COL1 COL2 COL3
    1 2 10
    1 2 20
    1 2 30
    3 2 10
    3 4 12
    3 4 45
    select col1,col2 , col3, LEAD(rowid) OVER (PARTITION BY col1,col2 order by null) from temp;
    COL1 COL2 COL3 LEAD(ROWID)OVER(PA
    1 2 10 AAAVBjAApAAAFyGAAB
    1 2 20 AAAVBjAApAAAFyGAAC
    1 2 30
    3 2 10
    3 4 12 AAAVBjAApAAAFyGAAF
    3 4 45
    6 rows selected.
    select rowid , temp.* from temp ;
    ROWID COL1 COL2 COL3
    AAAVBjAApAAAFyGAAA 1 2 10
    AAAVBjAApAAAFyGAAB 1 2 20
    AAAVBjAApAAAFyGAAC 1 2 30
    AAAVBjAApAAAFyGAAD 3 2 10
    AAAVBjAApAAAFyGAAE 3 4 12
    AAAVBjAApAAAFyGAAF 3 4 45
    SQL> DELETE temp
    WHERE rowid IN
    ( SELECT LEAD(rowid) OVER (PARTITION BY col1, col2 ORDER BY null)
    FROM temp ); 2 3 4
    3 rows deleted.
    SQL> select rowid , temp.* from temp ;
    ROWID COL1 COL2 COL3
    AAAVBjAApAAAFyGAAA 1 2 10
    AAAVBjAApAAAFyGAAD 3 2 10
    AAAVBjAApAAAFyGAAE 3 4 12
    Thanks for the reply

  • In a hierarchical query, is it possible for a row to have more than one immediate ancestor?

    Hi
    Question:
    In a hierarchical query, is it possible for a row to have more than one immediate ancestor?
    Answer:
    No
    No?  Surely, it's yes?
    Thanks,
    Jason

    As Frank pointed out already hierarhical most often means a tree (data structure) to deal with.
    There must usually be just one boss (the root) in which case the answer is no.
    Something to read: http://en.wikipedia.org/wiki/Tree_(data_structure)
    You can find out Solomon spoke about a generalization therein.
    Related to forum troubles:
    If I login first thing after reaching forum, the behaviour is rather consistent - I'm allowed to post answers, otherwise ...
    Regards
    Etbin

  • Strange behaviour BOXI R2

    Post Author: Ermakov Alexey
    CA Forum: .NET
    using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using CrystalDecisions.Enterprise;using BusinessObjects.ReportEngine;using BusinessObjects.Enterprise.Desktop;using System.IO;using System.Runtime.InteropServices;using System.Collections;namespace BusinessObjectsInteroperation{     public class BusinessObjectsInterop     {          public void GetBinaryReportByName(string NameOfTheReport, Stream StreamForDataBeWritten, BOConfigs BOCfg, OutputFormatType OutputFormat, Hashtable PromptValues)          {               EnterpriseSession enterpriseSession = null;               ReportEngines reportEngines = null;               SessionMgr sessionMgr = new SessionMgr();               try               {                    enterpriseSession = sessionMgr.Logon(BOCfg.BO_LoginName, BOCfg.BO_Password, BOCfg.BO_MachineToConnect, BOCfg.BO_LoginType);               }               catch (COMException exc)               {                    int HRESULT = exc.ErrorCode;                    switch (HRESULT)                    {                         case -2147210751:                              throw new ArgumentException(" BO_MachineToConnect");                         case -2147211005:                              throw new ArgumentException(" BO_LoginName");                         case -2147211006:                              throw new ArgumentException(" BO_Password");                         case -2147210653:                              throw new ArgumentException(" BO_LoginType");                         default:                              throw new ArgumentException("");                    }               }               InfoStore iStore = (InfoStore)enterpriseSession.GetService("InfoStore");               UserInfo userInfo = enterpriseSession.UserInfo;               if (enterpriseSession != null)               {                    if (reportEngines == null)                    {                         int iMinuteNumber = 1;                         int iLogonNumber = 1;                          string strToken = enterpriseSession.LogonTokenMgr.CreateWCAToken("", iMinuteNumber, iLogonNumber);                         reportEngines =  new ReportEngines(strToken);                    }               }                              IReportEngine reportEngine = reportEngines.getService(ReportEngineType.FC_ReportEngine);               FullClient ReportToPrint = (FullClient)getReport(iStore, NameOfTheReport, CrystalDecisions.Enterprise.InfoStore.CeKind.FullClient);               IDocumentInstance doc = null;               try               {                    doc = reportEngine.OpenDocument(ReportToPrint.ID); //ERROR Happens here               }               catch(Exception e)               {                    Console.Write(e.StackTrace);               }                              doc.Refresh();               IPrompts prompts = doc.GetPrompts();               foreach (IPrompt ip in prompts)               {                    string OnlyOneValue="";                    try                    {                         OnlyOneValue = (string)PromptValues&#91;ip.Name&#93;;                    }                    catch(IndexOutOfRangeException exc)                    {                         throw new ArgumentException(String.Format("Отчет {0} имеет необходимый параметр , который не был предоставлен.", NameOfTheReport, ip.Name), exc);                    }                    string&#91;&#93; vlArr = ; //Почему одному IPrompt надо передавать массив значений остается загадкой.                    ip.EnterValues(vlArr);               }               doc.SetPrompts();               IBinaryView docBinaryView = (IBinaryView)doc.GetView(OutputFormat);               docBinaryView.WriteContent(StreamForDataBeWritten);               doc.CloseDocument();                              reportEngine.Close();               reportEngines.Close();               iStore.Dispose();               enterpriseSession.Logoff();               enterpriseSession.Dispose();                                        }                    private InfoObject getReport(InfoStore iStore, string Name, string Kind)          {               InfoObjects list = null;               string query = String.Format(@"                SELECT                     SI_ID,                     SI_NAME,                          SI_PARENTID,                         SI_KIND,                          SI_INSTANCE,                          SI_DESCRIPTION                     FROM                         CI_INFOOBJECTS                     WHERE                          SI_KIND='{0}' AND                         SI_NAME=''", Kind, Name);                list = iStore.Query(query);               if (list.Count == 0)               {                    throw new Exception(String.Format("На сервере не существует отчета с именем {0}, его необходимо создать. Либо у вас нет на него прав.", Name));               }               if (list.Count > 1)               {                    throw new Exception(String.Format("На сервере существует более одного отчета с именем {0}, удалите неверный.", Name));               }               foreach (InfoObject obj in list)               {                    return obj;               }               return null;          }          public void ReportInPdfToHTTPResponse(string NameOfTheReport, params Par&#91;&#93; Prompts)          {               Hashtable PromptValues = new Hashtable();               foreach (Par p in Prompts)               {                    PromptValues.Add(p.Key, p.Value);               }               HttpResponse Response = HttpContext.Current.Response;               Response.Clear();               Response.ContentType = "application/pdf";               Response.AddHeader("Content-Type", "application/pdf");               Response.Expires = 0;               GetBinaryReportByName(NameOfTheReport, Response.OutputStream, new BOConfigs(), OutputFormatType.Pdf, PromptValues);               Response.Flush();               Response.End();          }          public void ReportInXlsToHTTPResponse(string NameOfTheReport, params Par&#91;&#93; Prompts)          {               Hashtable PromptValues = new Hashtable();               foreach (Par p in Prompts)               {                    PromptValues.Add(p.Key, p.Value);               }               HttpResponse Response = HttpContext.Current.Response;               Response.Clear();               Response.ContentType = "application/vnd.ms-excel";               Response.AddHeader( "Content-Type", "application/vnd.ms-excel");               Response.Expires = 0;               GetBinaryReportByName(NameOfTheReport, Response.OutputStream, new BOConfigs(), OutputFormatType.Xls, PromptValues);               Response.Flush();               Response.End();          }               }     } I have this code, but it has strange behaviour.When I restart IIS and run this function first time, I get an ArgumentOutOfRangeException in reportEngine.OpenDocument(ReportToPrint.ID);But the most strange thing is that Visual Studia shows me exception dialog and if I press Continue, then it works good.On more strange thing I get about this Code. From time to time server shows me such error:An unhandled exception of type 'BusinessObjects.ThirdParty.OOC.OB.AssertionFailed' occurred in businessobjects.enterprise.sdk.netmodule Additional information: ORBacus encountered an internal error

    Post Author: Ermakov Alexey
    CA Forum: .NET
         mscorlib.dll!System.String.LastIndexOf(char value, int startIndex) + 0x13 bytes           log4net.dll!log4net.Repository.Hierarchy.Hierarchy.UpdateParents(log4net.Repository.Hierarchy.Logger log = {log4net.Repository.Hierarchy.DefaultLoggerFactory.LoggerImpl}) + 0x1cf bytes           log4net.dll!log4net.Repository.Hierarchy.Hierarchy.GetLogger(string name = ".cctor", log4net.Repository.Hierarchy.ILoggerFactory factory = {log4net.Repository.Hierarchy.DefaultLoggerFactory}) + 0x12b bytes           log4net.dll!log4net.Repository.Hierarchy.Hierarchy.GetLogger(string name = ".cctor") + 0x46 bytes           log4net.dll!log4net.Core.LoggerManager.GetLogger(System.Reflection.Assembly repositoryAssembly = {System.Reflection.Assembly}, string name = ".cctor") + 0x94 bytes           log4net.dll!log4net.LogManager.GetLogger(System.Reflection.Assembly repositoryAssembly = {System.Reflection.Assembly}, string name = ".cctor") + 0x1b bytes           log4net.dll!log4net.LogManager.GetLogger(string name = ".cctor") + 0x1e bytes           businessobjects.enterprise.sdk.netmodule!BusinessObjects.Enterprise.Lib.Tracing.CELogger.CELogger(string name = ".cctor") + 0x20 bytes           businessobjects.enterprise.sdk.netmodule!BusinessObjects.Enterprise.Lib.Tracing.TraceManager.LoggerFactoryHelper.makeLogger(string name = ".cctor") + 0x35 bytes           businessobjects.enterprise.sdk.netmodule!BusinessObjects.Enterprise.Lib.Tracing.TraceManager.getLogger(string name = ".cctor") + 0x4a bytes           businessobjects.enterprise.sdk.netmodule!BusinessObjects.Enterprise.Infostore.Internal.AbstractSchedulableObject..cctor() + 0x23 bytes           businessobjects.enterprise.sdk.netmodule!BusinessObjects.Enterprise.Infostore.Internal.SchedulableInfoObject.SchedulableInfoObject() + 0xf bytes           businessobjects.enterprise.sdk.netmodule!BusinessObjects.Enterprise.Infostore.Internal.InfoObjects.newInfoObject(System.Object plgKey = ) + 0xbb bytes           businessobjects.enterprise.sdk.netmodule!BusinessObjects.Enterprise.Infostore.Internal.InfoObjects.continueUnpack(BusinessObjects.Enterprise.OcaFramework.Oca.InfoStore.info_wire_ob3&#91;&#93; wireObjs = {Length=0x1}) + 0x40a bytes           businessobjects.enterprise.sdk.netmodule!BusinessObjects.Enterprise.Infostore.Internal.InfoObjects.startUnpack(BusinessObjects.Enterprise.Security.Internal.ISecuritySession session = {BusinessObjects.Enterprise.Security.Internal.SecuritySession}, BusinessObjects.Enterprise.Infostore.IInfoStore infoStore = {BusinessObjects.Enterprise.Infostore.Internal.InfoStore}, BusinessObjects.Enterprise.OcaFramework.Oca.InfoStore.info_wire_ob3&#91;&#93; wireObjs = {Length=0x1}) + 0x9b bytes           businessobjects.enterprise.sdk.netmodule!BusinessObjects.Enterprise.Infostore.Internal.InfoStore.queryHelper(string query = "SELECT SI_MACHINE, SI_MACHINECHOICE from CI_INFOOBJECTS WHERE SI_ID=2762", BusinessObjects.Enterprise.Infostore.Internal.InfoObjects objs = {BusinessObjects.Enterprise.Infostore.Internal.InfoObjects}) + 0x149 bytes           businessobjects.enterprise.sdk.netmodule!BusinessObjects.Enterprise.Infostore.Internal.InfoStore.Query(string query = "SELECT SI_MACHINE, SI_MACHINECHOICE from CI_INFOOBJECTS WHERE SI_ID=2762") + 0x2f bytes           businessobjects.enterprise.sdk.netmodule!BusinessObjects.Enterprise.Ras21.RASConnection.initServerSpec(BusinessObjects.Enterprise.OcaFramework.ServerSpec serverSpec = {BusinessObjects.Enterprise.OcaFramework.ServerSpec}) + 0x30d bytes           businessobjects.enterprise.sdk.netmodule!BusinessObjects.Enterprise.Ras21.RASConnection.init(BusinessObjects.Enterprise.Ras21.IRASConnectionInitService i_initService = <undefined value>) + 0x422 bytes           businessobjects.enterprise.sdk.netmodule!BusinessObjects.Enterprise.Ras21.RASConnection.RASConnection(string i_sServerKind = "dpscacheFullClient", BusinessObjects.Enterprise.Ras21.Messages.GetConnection i_getConnection = {BusinessObjects.Enterprise.Ras21.Messages.GetConnection}, System.IO.Stream i_documentStream = <undefined value>, BusinessObjects.Enterprise.Ras21.IRASConnectionInitService i_initService = <undefined value>, BusinessObjects.Enterprise.Ras21.Serialization.IServerDeserializerFactory i_deserializerFactory = {BusinessObjects.Enterprise.Ras21.RASConnectionFactory.RASConnectionServerSerializationFactory}, BusinessObjects.Enterprise.Ras21.Serialization.IServerSerializerFactory i_serializerFactory = {BusinessObjects.Enterprise.Ras21.RASConnectionFactory.RASConnectionServerSerializationFactory}) + 0x18a bytes           businessobjects.enterprise.sdk.netmodule!BusinessObjects.Enterprise.Ras21.RASConnectionFactory.getRASConnection(string i_sServerKind = "CrystalEnterprise.FullClient", System.Globalization.CultureInfo i_locale = {System.Globalization.CultureInfo}, BusinessObjects.Enterprise.Security.Internal.ISecuritySession i_secSession = {BusinessObjects.Enterprise.Security.Internal.SecuritySession}, BusinessObjects.Enterprise.Ras21.Messages.GetConnection.DocumentId i_documentId = {BusinessObjects.Enterprise.Ras21.Messages.GetConnection.DocumentId}, System.IO.Stream i_documentStream = <undefined value>, BusinessObjects.Enterprise.Ras21.IRASConnectionInitService i_initService = <undefined value>) + 0x156 bytes           businessobjects.enterprise.sdk.netmodule!BusinessObjects.Enterprise.Ras21.RASConnectionFactory.getRASConnectionObjectId(string i_sServerKind = "CrystalEnterprise.FullClient", System.Globalization.CultureInfo i_locale = {System.Globalization.CultureInfo}, BusinessObjects.Enterprise.Security.Internal.ISecuritySession i_secSession = {BusinessObjects.Enterprise.Security.Internal.SecuritySession}, int i_nObjectId = 0xaca) + 0x108 bytes           businessobjects.reportengine.fc.dll!BusinessObjects.ReportEngine.FC.ras21.XMLviaRAS21Encode.newSession(BusinessObjects.ReportEngine.FC.ras21.RAS21SessionID i_occaSession = {BusinessObjects.ReportEngine.FC.ras21.RAS21SessionID}, string i_sLocale = "en-US", int i_nDocId = 0xaca, string s_iConnID = "1") + 0x107 bytes           businessobjects.reportengine.fc.dll!BusinessObjects.ReportEngine.FC.ras21.RAS21ReportEngineComAdapter.InitRAS21Connection(BusinessObjects.ReportEngine.FC.ras21.RAS21SessionID i_occaSession = {BusinessObjects.ReportEngine.FC.ras21.RAS21SessionID}, string i_sLocale = "", bool i_bNewDoc = false, int i_nDocId = 0xaca, string i_sConnID = "1") + 0x1d bytes           businessobjects.reportengine.fc.dll!BusinessObjects.ReportEngine.FC.ras21.RAS21ReportEngineComAdapter.openDocument(BusinessObjects.ReportEngine.Internal.Utilities.Storage.IStorageManager storageManager = {BusinessObjects.ReportEngine.Internal.Utilities.Storage.ClusterStorageManager}, string sLocale = "", int docID = 0xaca) + 0xde bytes           businessobjects.reportengine.fc.dll!BusinessObjects.ReportEngine.FC.ReportEngineImpl.OpenDocument(int docID = 0xaca) + 0x107 bytes     >     businessobjectinteroperation.dll!BusinessObjectsInteroperation.BusinessObjectsInterop.GetBinaryReportByName(string NameOfTheReport = "DO_Raport", System.IO.Stream StreamForDataBeWritten = {System.Web.HttpResponseStream}, BusinessObjectsInteroperation.BOConfigs BOCfg = {BusinessObjectsInteroperation.BOConfigs}, BusinessObjects.ReportEngine.OutputFormatType OutputFormat = Pdf, System.Collections.Hashtable PromptValues = {Count=0x3}) Line 80 + 0x22 bytes     C#

  • KYF exhibits strange behaviour with decimals

    Hi everybody,
    a DEC-key figure (IOBJ maintenance: additional properties->BEx->decimal places: Nothing Defined) exhibits strange behaviour regarding the treatment of decimals.
    When looking at the data in the cube (InfoCube maintenance->content) the value is 2,086.
    In the query the result is 2.0900000000 (%).
    Now comes the problem: in BPS (in the buffer) the value is 2,08. The system simply truncates the figure!  This is the value which is also used in the FOX and produces the wrong result.
    I need the system to sensibly round the values correctly to 2 decimals OR work with an additional decimal place.  How can this be done?
    Thanks for any input,
    Martin

    Hi,
    In the manual planning, while designing the layout, there is a setting in data columns tab called decimals. You have to insert 2 under this. Then in the layout data will be displayed with 2 decimal places.
    Hope this helps.
    Regards,
    Isha

  • Populate List from Database (Very Strange Behaviour)

    Dear Fellows,
    I have developed a from which has two lists One for Major (say) and Other for Minor (say), thesr minors are based on the value of Major.
    Now I have developed this system on Windows XP Professional, Developer/2000 6i and Oracle 8i (release 8.1.7).
    Major list is populated from database and it shows all major values now using 'when_list_change' trigger the minor list is populated from the database based on the value of major list. Interestingly enough it is working fine without any problem.
    Now I have deployed the software to Windows 2000 Professional/Server (tried on both), Developer/2000 6i and Oracle 8.0.5, but strangly the lists are not working now. First list (major) is still working but the other dependent lists are not working.
    Another strange thing is that it populate the second list for one particular value (only at times).
    The logic is that I have used a program unit to which i am passing 'list element' and 'query' and call it for each list in the when-list-change trigge.
    Now its a very strange behaviour, I don't know what to do?
    Your cooperation will be highly appreciated.
    regards.

    rolrollerx wrote:
    Hi,
    I have Nokia N8 (a great phone, btw) with Symbian Anna. I wanted to download the maps. But the PC Ovi Suite is just busy forever, without downloading anything (I used Performance Monitor to find out it was doing nothing for hours).
    As I have unlimited data plan from my phone, I decided to try updating directly from the phone instead. It successfully downloaded the list of maps, but when I selected one of them
    "No Wi-Fi network available. Please configure a WiFi access point in the phone Internet destination settings."
    Why should I do that? I have a working connection on that phone (as evidenced by the successful download of the list of maps). So now, I am stuck. How can I download the maps?
    Well, the suggestion is there. Use a router.
    ‡Thank you for hitting the Blue/Green Star button‡
    N8-00 RM 596 V:111.030.0609; E71-1(05) RM 346 V: 500.21.009

  • Strange behaviour in SOAP connection mode

    Hello,
    I created a custom worklist app using SOAP connetion mode and I experiencing strange behaviour using it.
    Sometimes it works and sometimes not. The only difference beetwen the two working config is nearly nothing. Just server restart are performed to make it work or not. No config files or applications deployement are done between two restart.
    So It's lotery to get it work.
    When it doesn't work, I have the following error messaging (see below)
    Does anyone have a clue to get it work each time ?
    Regards.
    ORABPEL-30509
    Error in invoking task query service.
    A client side error occured in invoking the task query service.
    Please check the exception error stack to identify the error. Contact oracle support if error is not fixable.
         at oracle.bpel.services.workflow.query.client.TaskQueryServiceSOAPClient.invoke(TaskQueryServiceSOAPClient.java:183)
         at oracle.bpel.services.workflow.query.client.TaskQueryServiceSOAPClient.authenticate(TaskQueryServiceSOAPClient.java:200)
         at oracle.bpel.services.workflow.query.client.AbstractDOMTaskQueryServiceClient.authenticate(AbstractDOMTaskQueryServiceClient.java:93)
         at eu.eca.itt.eworkflow2.controller.action.TaskListAction.process(Unknown Source)
         at eu.eca.itt.eworkflow2.controller.action.TaskListAction.execute(Unknown Source)
         at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
         at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
         at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
         at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
         at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
         at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
         at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
         at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:396)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:410)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:623)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: javax.xml.soap.SOAPException: Unable to create SOAP connection factory: Provider com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnectionFactory not found
         at javax.xml.soap.SOAPConnectionFactory.newInstance(SOAPConnectionFactory.java:32)
         at oracle.bpel.services.workflow.query.client.TaskQueryServiceSOAPClient.invoke(TaskQueryServiceSOAPClient.java:131)
         ... 29 more

    I also tried to change connection setting with
    System.setProperty("javax.xml.soap.SOAPFactory", "com.sun.xml.messaging.saaj.soap.ver1_1.SOAPFactory1_1Impl");
    System.setProperty("javax.xml.soap.SOAPConnectionFactory", "com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnectionFactory");
    I get it work for ....... a day (or a restart I suppose) reverting back to initial settings to make it work again.
    Does It mean SOAPConnectionFactories gets corrupted upon restart once I used them ?
    Is a Service Request a good idea ?
    Regards.

  • FOR i IN (statement) LOOP - very strange behaviour

    Hello, I'm experiencing very strange behaviour in my 9i Development Environment:
    If I run this select from SQL Plus a I get six month with number of days:
    select to_char(add_months(trunc(sysdate,'month'),rownum-1),'Month-YYYY') tmp_date, add_months(trunc(sysdate,'month'),rownum)-add_months(trunc(sysdate,'month'),rownum-1) colspan from dual a connect by level <=6
    But if I try to cycle through it in PL/SQL I only get the first row.
    FOR i in (
    select to_char(add_months(trunc(sysdate,'month'),rownum-1),'Month-YYYY') tmp_date, add_months(trunc(sysdate,'month'),rownum)-add_months(trunc(sysdate,'month'),rownum-1) colspan
    from dual a
    connect by level <=6 )
    loop
    -- print something out
    end loop;
    Any ideas why does this happen this way? If I use a query that does not contain CONNECT BY it works ok.

    Hi
    Just change as given below:
    FOR i in (
    select * from (select to_char(add_months(trunc(sysdate,'month'),rownum-1),'Month-YYYY') tmp_date, add_months(trunc(sysdate,'month'),rownum)-add_months(trunc(sysdate,'month'),rownum-1) colspan
    from dual a
    connect by level <=6 ))
    loop
    -- print something out
    end loop;
    Regards
    RK

  • Slow Hierarchical Query

    Hi,
    I have a hierarchical query which takes 2 seconds to execute. I need to get this down to milli seconds.
    The table has around 8000 records. The query will never return more than 20 or so records. There is only ever 2 levels to the query.
    I am quite surprised at this because it is a very simple query no table joins etc and I would have though 8000 records was nothing for Oracle.
    Select id, parent_id, col1, col2, col3, col4, col5, col6
    from my_table
    where id=500
    start with parent_id is null
    connect by prior id = parent_id;
    I have even tried initializing the start with say with 0 and making it a not null column...... indexing the columns used in the start with + connect by
    I have tried various indexing stratergies. Does anyone have any similar experience? I am using Oracle 9i.
    Thanks in advance

    How can I utilise the above query in a view if at all? Will I be able to pass in differnt ID's to the START WITH...?Certainly, you can. For example, you can use packaged
    public variable to pass a parameter or Oracle CONTEXT:
    SQL> create or replace package pass_param is
      2    empno emp.empno%TYPE;
      3    function get_empno return emp.empno%TYPE;
      4  end;
      5  /
    &nbsp
    Package created.
    &nbsp
    SQL> create or replace package body pass_param is
      2    function get_empno return emp.empno%TYPE
      3    is
      4    begin
      5      return empno;
      6    end; 
      7  end;
      8  /
    &nbsp
    Package body created.
    &nbsp
    SQL> create or replace view emp_v as
      2  select ename from emp
      3  start with empno = pass_param.get_empno
      4  connect by prior empno = mgr
      5  /
    &nbsp
    View created.
    &nbsp
    SQL> exec pass_param.empno := 7839;
    &nbsp
    PL/SQL procedure successfully completed.
    &nbsp
    SQL> select * from emp_v;
    &nbsp
    ENAME
    KING
    JONES
    SCOTT
    ADAMS
    FORD
    SMITH
    BLAKE
    ALLEN
    WARD
    MARTIN
    TURNER
    JAMES
    CLARK
    MILLER
    &nbsp
    14 rows selected.
    &nbsp
    SQL>  exec pass_param.empno := 7698;
    &nbsp
    PL/SQL procedure successfully completed.
    &nbsp
    SQL> select * from emp_v;
    &nbsp
    ENAME
    BLAKE
    ALLEN
    WARD
    MARTIN
    TURNER
    JAMES
    &nbsp
    6 rows selected. or:
    SQL> create or replace package set_param
      2  is
      3   procedure set_empno(empno in number);
      4  end;
      5  /
    &nbsp
    Package created.
    &nbsp
    SQL> create or replace package body set_param
      2  is
      3   procedure set_empno(empno in number)
      4   is
      5   begin
      6     dbms_session.set_context('empnamespace','empno',empno);
      7   end;
      8  end;
      9  /
    &nbsp
    Package body created.
    &nbsp
    SQL> create or replace context empnamespace using set_param;
    &nbsp
    Context created.
    &nbsp
    SQL> create or replace view emp_v as
      2  select ename from emp
      3  start with empno = sys_context('empnamespace','empno')
      4  connect by prior empno = mgr
      5  /
    &nbsp
    View created.
    &nbsp
    SQL> exec set_param.set_empno(7698);
    &nbsp
    PL/SQL procedure successfully completed.
    &nbsp
    SQL> select * from emp_v;
    &nbsp
    ENAME
    BLAKE
    ALLEN
    WARD
    MARTIN
    TURNER
    JAMES
    &nbsp
    6 rows selected.
    &nbsp
    SQL> exec set_param.set_empno(7839);
    &nbsp
    PL/SQL procedure successfully completed.
    &nbsp
    SQL> select * from emp_v;
    &nbsp
    ENAME
    KING
    JONES
    SCOTT
    ADAMS
    FORD
    SMITH
    BLAKE
    ALLEN
    WARD
    MARTIN
    TURNER
    JAMES
    CLARK
    MILLER
    &nbsp
    14 rows selected.Rgds.

  • APEX Listener and EPG - strange behaviour

    Hi
    For some years, I've used EPG for APEX but have struggled with performance particularly as I can have up to 150 student developers using at any one time.
    I do a fair amount of work using ORDImage and have successfully developed APEX applications to upload image files and display full-size and thumbnail images.
    After upgrading to APEX 4.1 (from 4.0), I decided to install APEX Listener standalone.
    Before I did so I checked that my applications still worked in 4.1 and they did.
    However, just installing APEX Listener but not configuring it (yet) has meant that my image display in a report using a procedure based on wpg_docload.download_file( l_ordimage_image.source.localData ) no longer works in EPG - the images are not displayed.
    Configuring APEX Listener and running the same application through that DOES display the images.
    So this part of the application works under APEX Listener but not under EPG.
    My application also allows users to upload images from APEX_APPLICATION_FILES using standard code. Under APEX Listener after uploading, I'm left with a blank page with a wwv_flow.accept URL although the image does indeed upload. Under EPG it works as expected and I get a success confirmation.
    So this part of the application works under EPG but not under APEX Listener.
    Has anyone else come across different behaviour depending on the mode of connection?
    Thanks
    Brian
    [Oracle EE 11gR2, Windows Server 2008R2, APEX 4.1, APEX Listener 1.1.3]

    Hi Brian,
    it sounds like you have both EPG and APEX Listener running on the same machine, so your problem might result from a port conflict. Note that both services use TCP port 8080 as default.
    At least a port conflict would explain the strange behaviour in your case, some things working on one web server and some on the other.
    Some parts of your initial post hint to that direction, e.g.
    However, just installing APEX Listener but not configuring it (yet) has meant that my image display in a report using a procedure based on >wpg_docload.download_file( l_ordimage_image.source.localData ) no longer works in EPG - the images are not displayed.... because the APEX Listener only interfere with the EPG if it is at least running on the same machine as your database and furthermore, if it is unconfigured in terms of ist database connection, a port conflict might be the only way it could cause anything like that.
    However, if you are sure that's not the issue, please check if you see any error in the APEX Listener's log for the following action you performed:
    My application also allows users to upload images from APEX_APPLICATION_FILES using standard code. Under APEX Listener after uploading, I'm left with a blank >page with a wwv_flow.accept URL although the image does indeed uploadIf you actually see just a blank screen, something very bad must have happened and you should see some kind of stack trace there.
    For further investigations, if necessary, it would be helpful to know how you deployed or started your APEX Listener and which JDK version you use.
    For the moment, I still think the port conflict is my best guess.
    You could avoid it by either changing the port for EPG (I'd not recommend that if you have other users still using it) or by changing the port for your APEX Listener.
    -Udo

Maybe you are looking for