JNDI and LDAP Results

I have also posted this on Novell forums and it seems to only happen when the LDAP target is eDirectory.
I am writing a JAVA program that uses JNDI to access LDAP data sources and I have run into an interesting problem when accessing eDirectory. The issue is that when I query on objects that involve a multivalue attribute and that multivalue attribute contains a large number of values then I appear to be getting back multiple records in my JNDI result set. For example, when I am going after an object in the LDAP Directory that is a "group" and there is a multivalue object within that record called "member" and if there are large number of member values (say 30,000 or so) then I will get multiple results in the JNDI Result set for the same DN value. The first record will contain all the normal attributes plus the first 650 or so member attribute values. Subsequent records will contain only the member attribute with more values. Each record is assciated with the same DN value. When I do the same type of thing going against an Active Directory the member attribute will be returned with an id of "member;range=0-1499" indicating that a range retrieval is required to get the remaining attributes BUT with AD I only get a single record back in the result set and it is up to my code to make the appropriate calls to get the remaining records. I can understand that each LDAP provider may have a different implementation for this type of large multivalue attribute issue but I have not been able to figure out in the case of eDirectory who is doing this "chunking" of values and how it can be detected or controlled. Can anyone provide me some help understanding how this data is being returned from eDirectory? I have not been able to find an explanation doing searches on JNDI or eDirectory that explains this behavior. In the testing I have done and looking at the TCP/IP dumps it would appear that JNDI is breaking the result coming from LDAP into multiple SearchResult entries. As mentioned, each SearchResult enties contains about 650 of the multi-valued attribute results which total about 20,000 bytes of information. Whoever is doing this knows the data is for the same DN value as the DN returned for all records by SearchResult.getObject()).getNameInNamespace() is the same.

Curious if you ever came across a good solution for this?
I'm running up against essentially the same thing; I have an application that needs to traverse potentially tens of thousands of entries within a given search base. Sort order is unimportant, speed is important. Having the directory administrator create vlv indexes is a non-starter.
I did notice that I could have it sort on any attribute, even an attribute not in the schema (e.g., "hooHahFoo"), and get the same performance. Also noted that sorting by "dn" is broken in DS5.1, not in DS5.2.

Similar Messages

  • Microsoft AD, JNDI and LDAP

    Hello,
    I working to move an application off of Novell eDirectory onto Microsoft AD. The program successfully binds to AD, the search filter executes correctly and the attributes are returned as expected. However, the final call to searchResults.hasMore() is not returning! In other words, the final call, which should return false, is not returning at all.
    Any ideas?
    -Bryan
    try
    hashtable = null;
    hashtable = new Hashtable();
    hashtable.put("java.naming.ldap.version", "3");
    hashtable.put Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
    hashtable.put(Context.SECURITY_AUTHENTICATION, "Simple");
    hashtable.put(Context.REFERRAL, "follow");
    hashtable.put(Context.PROVIDER_URL, url);
    hashtable.put(Context.SECURITY_PRINCIPAL, loginDN);
    hashtable.put(Context.SECURITY_CREDENTIALS, passwd);
    ctx = new InitialLdapContext(hashtable, null);
    SearchControls sc = new SearchControls();
    sc.setSearchScope(SearchControls.SUBTREE_SCOPE);
    sc.setReturningAttributes(new String[] {"mailNickname", "givenName", "sn", "mail"});
    NamingEnumeration results = ctx.search(base, filter, sc);
    cns = new ArrayList(25);
    givenNames = new ArrayList(25);
    mails = new ArrayList(25);
    surNames = new ArrayList(25);
    while (results.hasMore()) // hangup occurring here when hasMore() should return false
    SearchResult sr = (SearchResult)results.next();
    Attributes attrs = sr.getAttributes();
    Enumeration enum = attrs.getAll();
    while (enum.hasMoreElements())
    System.out.println(enum.nextElement());
    cns.add((String)(attrs.get("mailNickname").get()));
    givenNames.add((String)(attrs.get("givenName").get()));
    surNames.add((String)(attrs.get("sn").get()));
    mails.add((String)(attrs.get("mail").get()));
    finally
    try {ctx.close();}
    catch (Exception e) {}
    }

    I'll take a bit of a stab at this, although your code sample seems to have some typos, missing a few braces and few catches.
    Anyway, there are some subtle differences between the behaviour of AD and other LDAP directories. One is that by default AD limits the number of objects that can be returned in a LDAP query to 1000. I think I described this in the post JNDI, Active Directory, Paging and Range Retrieval available at http://forum.java.sun.com/thread.jspa?threadID=578347&tstart=0
    Also there are differences in the behaviour of Enumeration.hasMore & Enumeration.hasMoreElements, Enumeration.hasMore throws exception s and will not return false, whereas hasMoreElements does not throw an exception and will return false. Have a look at http://java.sun.com/j2se/1.3/docs/api/javax/naming/NamingEnumeration.html
    So I'll assume that AD is causing an exception to be thrown, perhaps a SizeLimitExceededException or PartialResultsException.
    Either process the exception, or use hasMoreElements instead.

  • JNDI and LDAP

    Hi,
    I'm trying to get an InitialLdapContext object to work with LDAP.
    Currently I am able to do that by using:
    HashTable env = new HashTable();
    env.put(Context.INITIAL_CONTEXT_FACTORY, ...);
    env.put(Context.PROVIDER_URL, ...);
    env.put(Context.REFERRAL, "ignore");
    env.put(Context.SECURITY_AUTHENTICATION, "simple");
    env.put(Context.SECURITY_PRINCIPAL, ...);
    env.put(Context.SECURITY_CREDENTIALS, ...);
    InitialLdapContext ctx = new InitialLdapContext(propsHT, null)
    I would like to know if it is possible to avoid specifying the 'Context.SECURITY_...' items in the code by using the values specified in the server configuration (console).
    I was told to use JNDI lookup. Any ideas?
    Thanks in advance,
    Tito Lopes

    Or Microsoft Active Directory Application Mode (ADAM). Details are available at http://www.microsoft.com/windowsserver2003/adam/default.mspx and it can be downloaded from a link on that page.

  • Problem with ADS and LDAP

    Problem with ADS and LDAP
    I have installed Win2000 + sp1 and ADS on a computer. This computer is PDC.
    After connection via LDAP I cann't get any object ( users or goups etc. ).
    I try connect to ADS by java ( JNDI ).
    When I use another clients of LDAP ( eg. Maxware Directory Explorer) I have
    the same problem - no objects.
    Can anybody help me?
    Grzegorz Pszona
    my e-mail: [email protected]

    Thanks a lot.
    Softerra's browser is really good.
    Thanks
    Rashmi
    "Anant Kadiyala" <[email protected]> wrote:
    >
    I used Softerra's LDAP browser. The browser is free. There is also a
    java baded
    LDAP browser from Univ of Michigan. I found the Softerra browser to be
    more easier
    to use.
    -anant
    "rashmi" <[email protected]> wrote:
    Hi,
    Can you please let me know which exact ADS tool that you used to examine
    the
    DN. I have Active Directory Users and Computers, Sites and Servicesand
    Domain
    and Trusts installed on my machine but I am not able to figure out how
    to get
    the DN?
    Thanks
    Rashmi
    for Stephen Davies <[email protected]> wrote:
    Grzegorz,
    I have had WLS6.1 & ADS working ok using LDAP V2. Mind you it did take
    a
    fair bit of messing around to get it going. MS does have a few oddities,
    for example the Administrators DN might look something like this:
    cn=Administrator,cn=Users,dc=eglobal,dc=net
    One tool that I found invaluable came with the additional support tools
    for Windows 2000. The 'Active Directory Administration Tool' made it
    easy to list the directory contents and examine the DNs.
    Regards,
    Steve
    Stephen Davies
    Principal Consultant
    eGlobal Services Pty. Ltd.
    Sydney, Australia
    Ph. +61 2 9283 1033
    http://www.eglobal.net/

  • Help please: re proper use of JNDI and Directory services

    I'm new to this J2EE/JDev stuff and have spent a few days pouring over Sun's JNDI and J2EE documentation as to how best to accomplish my task. Here's the big picture. I am constructing a web site in my PC at home for eventual deployment in an ISP server. I don't have an LDAP or COS server but ISPs usually do. I've found a public LDAP server I can use but the problem is getting an entry on the server that my JSP client and EJB server code can use to find my Entity bean and SQLServer database server respectively. The best I've been able to come up with is that I need to write my own Applet or client application to register my entries on that LDAPserver with appropriate Java attributes and then code my stuff to look it up using the DirContext class.
    As for how I pass my stuff into my EJB bean, I intend to use jndi.properties to specify custom properties that map logicals to the physical resources that DirContext routines act on and use System.getProperty("...") to retrieve them dynamically without having to recode later. I haven't figured out exactly how to do this for Servlets and JSPs yet so they can find the beans.
    I'm interested in any feedback to what I'm doing and how better to achieve my ends.
    As an aside, I noticed as I poured through Sun's J2EE container software that they seem to have embedded COS in their deploytool as a nice feature that would effectively solve my problem if JDeveloper could integrate such a capability. Their sample programs were pretty straight-forward in configuring JDBC and the beans. Any thoughts from the JDev team on providing a similar capability for OC4J?
    Thanks,
    Dean

    I would first left-click with the mouse on the camera icon (to enable/activate the snap shot feature), then I'd go with the mouse to the area I wanted to take the snapshot, click-and-drag so I would box-in the desired area to be copied/duplicated, then let go off the mouse (a ding wound then sound) and finally I would go to the page where I wanted to reproduce the snapshotted and left-click once with the mouse... And presto!
    Not so with 11-Pro. It allows me to paste onto a different program such as MS-Word (or Outliok), but not onto a PDF page.
    ⚽ is☝

  • Forte Classic and LDAP

    Greetings,
    I am in the process of assessing the amount of effort to have a Forte
    application interface with Netscape's Directory Server. I know that the
    Directory Server has a C SDK so a wrapper is possible. Has anyone else
    attempted this using a C wrapper or otherwise?
    Thanks in advance,
    Phil

    We have used the Netscape Directory SDK for C Version 3.0 and have written
    and compiled some Digital Unix C code that calls out to the Netscape LDAP
    shared library. We then built a Forte wrapper around this code and can now
    call out from Forte to LDAP and get authentication results back etc.
    It was however, something of a mission to get Forte on Digitial Unix 4
    working with the Netscape code :
    Netscape Unix Library is only 32 bit. Forte itself is compiled using 64 bit
    option so the runtime loader cannot link ftexec to Netscape code without
    crashing. So I have altered the way forte compiles partitions / libraries
    on our Unix node using the -taso flag - so now its all running in 32 bit
    address space - but only if we don't use ftexec to run the app. So I'm
    compiling my C code, the forte library and the forte partition as 32 bit.
    Cheers Dave.
    At 04:06 PM 11/19/99 +0100, you wrote:
    We built a Fort&eacute; wrapper for a c API that implements the interface for an
    Ldap client.
    We download the documentation about Ldap c API from the Internet Engineering
    Task Force and the Ldap Libraries from the University of Michigan.
    We use the document rfc1823 that now is considered obsolete but the Ldap
    Libraries delivered by the University of michigan were built using this
    standard.
    Feel free to contact me if you need some more information.
    Hope this help.
    Cheers, Max.
    Massimiliano Delsante
    O.T. Consulting S.r.l - www.otconsulting.com
    Via della Previdenza Sociale N&deg; 11 - 42100 - Reggio Emilia
    Tel. +39 0522 271550 - Fax +39 0522 230710
    -----Messaggio originale-----
    Da: [email protected] <[email protected]>
    A: [email protected] <[email protected]>
    Data: venerd&igrave; 19 novembre 1999 15.52
    Oggetto: (forte-users) Forte Classic and LDAP
    Greetings,
    I am in the process of assessing the amount of effort to have a Forte
    application interface with Netscape's Directory Server. I know that the
    Directory Server has a C SDK so a wrapper is possible. Has anyone else
    attempted this using a C wrapper or otherwise?
    Thanks in advance,
    Phil
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]
    Dave Maclaurin
    Database Administrator
    ATS University of Otago
    mailto:[email protected]
    http://www.otago.ac.nz
    Phone: +64 03 479 6545
    Fax : +64 03 479 5080

  • GSSAPI JNDI and Windows 2000

    Hello,
    I'm trying to use JNDI to access ActiveDirectory on Windows 2000. I am currently successful when providing a username and password using simple authentication, but I want to be able to use the Windows account information that the program is running under.
    I've tried to do this by creating a login conf file (using the NTLoginModule) and creating a LoginContext, logging in (I can then view the Principals associated with the Subject).
    try
    LoginContext lc = new LoginContext (this.getClass ().getName (), null);
    lc.login ();
    Subject.doAs (lc.getSubject (), new SimpleAction ());
    lc.logout ();
    catch (LoginException e)
    System.err.println (e.getMessage ());
    public class SimpleAction implements java.security.PrivilegedAction
    public java.lang.Object run ()
    Hashtable h = new Hashtable ();
    h.put (Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
    h.put (Context.PROVIDER_URL, "OU=foo,DC=b,DC=a,DC=r");
    h.put (Context.SECURITY_AUTHENTICATION, "GSSAPI");
    DirContext ctx = new InitialDirContext (env);
    do something interesting
    ctx.close ();
    Then using JNDI in a Subject.doAs call I set the Context.SECURITY_AUTHENTICATION to "GSSAPI". This throws the following error:
    GSSAPI
    Error connecting to 'OU=foo,DC=b,DC=a,DC=r' on '<server>'. Please ensure that the LDAP Server is running and that the configuration parameters are correct.
    I followed (I thought) the examples based on http://java.sun.com/products/jndi/tutorial/ldap/security/src/GssExample.java
    and it works fine if I use "simple" authentication.
    Any ideas as to why AD throws it back?
    Regards

    I hope that this helps. Now I am on to seeing about
    GSSYes, how did you go with the GSS? I cannot get it to work.
    I followed your suggestions as before and my authentication works, now I'm trying to use GSS authentication to my Active Directory through LDAP and I get errors. My JAAS Authentication works fine.
    I'm using the following example URL http://java.sun.com/products/jndi/tutorial/ldap/security/gssapi.html
    My errors start as follows:
    ... [authentication info before this]
    Credentials acquireServiceCreds: same realm
    CksumType: sun.security.krb5.internal.crypto.RsaMd5CksumType
    EType: sun.security.krb5.internal.crypto.DesCbcMd5ETypejavax.naming.AuthenticationException: GSSAPI. Root exception is com.sun.securit
    y.sasl.preview.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: _kerberos._udp.OBJADS.OBJECTIVE: _kerberos._udp.OBJADS.OBJECTIVE)]
    at com.sun.security.sasl.gsskerb.GssKerberosV5.evaluateChallenge(GssKerberosV5.java:180)
    at com.sun.jndi.ldap.sasl.LdapSasl.saslBind(LdapSasl.java:113)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at com.sun.jndi.ldap.LdapClient.saslBind(LdapClient.java:399)
    at com.sun.jndi.ldap.LdapClient.authenticateLdapClient.java:215)
    at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2597)
    at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:275)
    at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLLdapCtxFactory.java:173)
    at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:191
    ... and so on
    Thanks, Philip

  • JNDI and JDK 1.2

    Hello everyone,
    I am trying to add entries into an LDAP using JDK 1.2 and JNDI. I have succesfully removed and listed entries(I added the entries by using JDK 1.3), but still cannot add anything to the LDAP.
    I have been using an LDAP browser to verify that the entries that I added with JDK 1.3 where indeed added. In conjuction with JDK 1.2, I have been pointing my classpath to the jndi.jar file. I have also added the providerutil.jar, and ldap.jar file to my classpath.
    Perhaps I am missing another jar file. I have download and put in my classpath, from sun's JNDI website
    (http://www.columbia.edu/~he99/jndi-ext.html) these packages ( meaning all of the jar files contained in
    these packages). I put all of them in one folder and pointed to the folder from my classpath:
    JNDI 1.2.1
    LDAP 1.2.4
    DNS 1.2
    NIS 1.2.1
    FS Context
    COS Naming 1.2.1
    I also tried using the -classpath option while compiling and running my code to explicitly and individually
    point to each jar file. I am aware that there are two different versions of the provierutil.jar file among the
    above mentioned packages. The one that is 79 KB is the only one that works, however. I have also tried
    pointing to only the individual packages from my classpath. Also, I have tried mixing and matching different
    jar files from different packages.
    I get the error message printed below this paragraph when trying to add an entry with JDK 1.2(using JNDI), but no error messages when trying to list or remove an entry. With JDK 1.3, I get none of these error messages (Im using the same exact code for both JDK 1.2 and JDK 1.3, with the exception that I add the JNDI and other necessary jar files when using JDK 1.2).
    javax.naming.directory.SchemaViolationException: [LDAP: error code 65 - attribute not allowed]; remaining
    name 'cn=haro,ou=MDS3'
    at com.sun.jndi.ldap.LdapCtx.mapErrorCode(Compiled Code)
    at com.sun.jndi.ldap.LdapCtx.processReturnCode(Compiled Code)
    at com.sun.jndi.ldap.LdapCtx.processReturnCode(Compiled Code)
    at com.sun.jndi.ldap.LdapCtx.c_bind(Compiled Code)
    at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_bind(Compiled Code)
    at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.bind(Compiled Code)
    at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.bind(Compiled Code)
    at javax.naming.directory.InitialDirContext.bind(Compiled Code)
    at AddService.main(Compiled Code)
    This may have to do something with what is said here:
    http://www.columbia.edu/~he99/jndi-ext.html
    Particularly the following:
    "When a Reference is read from the naming or directory service and a codebase specifying where to load
    the factory class for the reference has been specified, JNDI will attempt to load the class from the
    locations specified in code base. In order for the class loading to succeed, you must grant the application
    the permissions appropriate for the URLs named in the codebase. For example, if the URL scheme is "http"
    or "ftp", you must grant the application the appropriate java.net.SocketPermission; if the URL scheme is
    "file", you must grant the application the appropriate java.io.FilePermission.
    If you are using JNDI as an installed extension, that is, jndi.jar has been installed in the
    $JAVA_HOME/jre/lib/ext directory, you need to take no further action."
    I have created a directory in unix and made a jre folder with lib and ext as a subfolders and then
    made the variable "$JAVA_HOME" point to that directory, in which I put all of the jar files from those
    packages (with the 79 KB providerutil jar). Still, I get the same error message.
    Does anyone know how to resolve this problem? (My development team has coded everything with JDK 1.2 so far and cannot migrate to JDK 1.3 so late in our implementation).

    ref13E,
    I think it's not because of the jdk. I use jdk1.4 and get the same exception.
    Wht is the LDAP server that you use? We use AD.
    Regards,
    George

  • Hello Anybody, I have a question. Can any of you please suggest me how to make an xml file from the database table with all the rows? Note:- I am having the XSD Schema file and the resulted XML file should be in that XSD format only.

    Hello Anybody, I have a question. Can any of you please suggest me how to make an xml file from the database table with all the records?
    Note:- I am having the XSD Schema file and the resulted XML file should be in that XSD format only.

    The Oracle documentation has a good overview of the options available
    Generating XML Data from the Database
    Without knowing your version, I just picked 11.2, so you made need to look for that chapter in the documentation for your version to find applicable information.
    You can also find some information in XML DB FAQ

  • Problem with store ResultSet and show result in table

    Hi, I'm kind of new in ADF, I need to store ResultSet and show result in table-component. I have two problems:
    1) I get my ResultSet by calling callStoredProcedure(...) and this returns actually ref_cursor as ResultSet.
    When I try to println() contains of this result set in this method - it works OK (commented part),
    but when I want to println() somewhere else (eg. in retrieveRefCursor() method) it doesn't work.
    The problem is that the scrollability of the ResultSet is lost - it becomes a TYPE_FORWARD_ONLY ResultSet.
    Is there any way to store data from ref_cursor for a long time?
    2) My second problem is "store any result set and show this data in table". I have tried use method storeNewResultSet() but
    without result (table contains only "No rows yet" and everything seems to be OK - no exception, no warning, no error...).
    I have tried to call this method with ResultSet from select on dbs (without resultSet as ref_cursor ) - no result with createRowFromResultSet(),
    storeNewResultSet(), setUserDataForCollection()...
    I've tried a lot of ways to do this, but it doesn't work. I really don't know how to make it so it can work.
    Thanks for your help.
    ADF BC, JDev 11.1.1.0
    This is my code from ViewObjectImpl
    package tp.model ;
    import com.sun.jmx.mbeanserver.MetaData ;
    import java.sql.CallableStatement ;
    import java.sql.Connection ;
    import java.sql.PreparedStatement ;
    import java.sql.ResultSet ;
    import java.sql.ResultSetMetaData ;
    import java.sql.SQLException ;
    import java.sql.Statement ;
    import java.sql.Types ;
    import oracle.jbo.JboException ;
    import oracle.jbo.server.SQLBuilder ;
    import oracle.jbo.server.ViewObjectImpl ;
    import oracle.jbo.server.ViewRowImpl ;
    import oracle.jbo.server.ViewRowSetImpl ;
    import oracle.jdbc.OracleCallableStatement ;
    import oracle.jdbc.OracleConnection ;
    import oracle.jdbc.OracleTypes ;
    public class Profiles1ViewImpl extends ViewObjectImpl {
        private static final String SQL_STM = "begin Pkg_profile.get_profile_list(?,?,?,?);end;" ;
        public Profiles1ViewImpl () {
        /* 0. */
        protected void create () {
            getViewDef ().setQuery ( null ) ;
            getViewDef ().setSelectClause ( null ) ;
            setQuery ( null ) ;
        public Connection getCurrentConnection () throws SQLException {
            // Note that we never execute this statement, so no commit really happens
            Connection conn = null ;
            PreparedStatement st = getDBTransaction ().createPreparedStatement ( "commit" , 1 ) ;
            conn = st.getConnection () ;
            st.close () ;
            return conn ;
        /* 1. */
        protected void executeQueryForCollection ( Object qc , Object[] params , int numUserParams ) {
            storeNewResultSet ( qc , retrieveRefCursor ( qc , params ) ) ;
            // callStoredProcedure ( qc , SQL_STM ) ;
            super.executeQueryForCollection ( qc , params , numUserParams ) ;
        /* 2. */
        private ResultSet retrieveRefCursor ( Object qc , Object[] params ) {
            ResultSet rs = null ;
            rs = callStoredProcedure ( qc , SQL_STM ) ;
            return rs ;
        /* 3. */
        public ResultSet callStoredProcedure ( Object qc , String stmt ) {
            CallableStatement st = null ;
            ResultSet refCurResultSet = null ;
            try {
                st = getDBTransaction ().createCallableStatement ( stmt , 0 ) ; // call 
                st.setObject ( 1 , 571 ) ; //set id of my record to 571
                st.registerOutParameter ( 2 , OracleTypes.CURSOR ) ; // my ref_cursor
                st.registerOutParameter ( 3 , Types.NUMERIC ) ;
                st.registerOutParameter ( 4 , Types.VARCHAR ) ;
                st.execute () ; //executeUpdate
                System.out.println ( "Numeric " + st.getObject ( 3 ) ) ;
                System.out.println ( "Varchar " + st.getObject ( 4 ) ) ;
                refCurResultSet = ( ResultSet ) st.getObject ( 2 ) ; //set Cursoru to ResultSet
                //   setUserDataForCollection(qc, refCurResultSet); //don't work
                //   createRowFromResultSet ( qc , refCurResultSet ) ; //don't work
                /* this works but only one-time call - so my resultSet(cursor) really have a data
                while ( refCurResultSet.next () ) {
                    String nameProfile = refCurResultSet.getString ( 2 ) ;
                    System.out.println ( "Name profile: " + nameProfile ) ;
                return refCurResultSet ;
            } catch ( SQLException e ) {
                System.out.println ( "sql ex " + e ) ;
                throw new JboException ( e ) ;
            } finally {
                if ( st != null ) {
                    try {
                        st.close () ; // 7. Close the statement
                    } catch ( SQLException e ) {
                        System.out.println ( "sql exx2 " + e ) ;
        /* 4. Store a new result set in the query-collection-private user-data context */
        private void storeNewResultSet ( Object qc , ResultSet rs ) {
            ResultSet existingRs = getResultSet ( qc ) ;
            // If this query collection is getting reused, close out any previous rowset
            if ( existingRs != null ) {
                try {
                   existingRs.close () ;
                } catch ( SQLException s ) {
                    System.out.println ( "sql err " + s ) ;
            setUserDataForCollection ( qc , rs ) ; //should store my result set
            hasNextForCollection ( qc ) ; // Prime the pump with the first row.
        /*  5. Retrieve the result set wrapper from the query-collection user-data      */
        private ResultSet getResultSet ( Object qc ) {
            return ( ResultSet ) getUserDataForCollection ( qc ) ;
        // createRowFromResultSet - overridden for custom java data source support - also doesn't work
       protected ViewRowImpl createRowFromResultSet ( Object qc , ResultSet resultSet ) {
            ViewRowImpl value = super.createRowFromResultSet ( qc , resultSet ) ;
            return value ;
    }

    Hi I have the same problem like you ...
    My SQL Definition:
    CREATE OR REPLACE TYPE RMSPRD.NB_TAB_STOREDATA is table of NB_STOREDATA_REC
    CREATE OR REPLACE TYPE RMSPRD.NB_STOREDATA_REC AS OBJECT (
       v_title            VARCHAR2(100),
       v_store            VARCHAR2(50),
       v_sales            NUMBER(20,4),
       v_cost             NUMBER(20,4),
       v_units            NUMBER(12,4),
       v_margin           NUMBER(6,2),
       v_ly_sales         NUMBER(20,4),
       v_ly_cost          NUMBER(20,4),
       v_ly_units         NUMBER(12,4),
       v_ly_margin        NUMBER(6,2),
       v_sales_variance   NUMBER(6,2)
    CREATE OR REPLACE PACKAGE RMSPRD.NB_SALES_DATA
    AS
    v_sales_format_tab   nb_tab_storedata;
    FUNCTION sales_data_by_format_gen (
          key_value         IN       VARCHAR2,
          l_to_date         IN       DATE DEFAULT SYSDATE-1,
          l_from_date       IN       DATE DEFAULT TRUNC (SYSDATE, 'YYYY')
          RETURN nb_tab_storedata;
    I have a PLSQL function .. that will return table ..
    when i use this in sql developer it is working fine....
    select * from table (NB_SALES_DATA.sales_data_by_format_gen('TSC',
                                        '05-Aug-2012',
                                        '01-Aug-2012') )
    it returning table format record.
    I am not able to call from VO object. ...
    Hope you can help me .. please tell me step by step process...
    protected Object callStoredFunction(int sqlReturnType, String stmt,
    Object[] bindVars) {
    System.out.println("--> 1");
    CallableStatement st = null;
    try {
    st = getDBTransaction().createCallableStatement("begin ? := " +"NB_SALES_DATA.sales_data_by_format_gen('TSC','05-Aug-2012','01-Aug-2012') ; end;", 0);
    System.out.println("--> 2");
    st.executeUpdate();
    System.out.println("--> 3");
    return st.getObject(1);
    catch (SQLException e) {
    e.printStackTrace();
    throw new JboException(e);

  • Rh10 - HTML Help - linking to pdf shows when generate CHM and 'view results' but not when double-click on CHM in project folder or in product help

    I have several PDFs in Baggage Files that are linked to topics in the Table of Contents.  When I generate the CHM file and 'View Results' I am able to pull up/access the PDFs with no problem.  When I go into the project folder and just double-click on the CHM file, I cannot pull up/access any of the PDFs nor can I access them in the product help.  Any ideas?  Is a setting "off" somewhere in my project?
    I am using RoboHelp 10.
    Thanks!

    eeddings wrote:
    Thanks for the idea, but I can't switch the project to WebHelp.  This .chm project consists of a master project with 18 slave projects and a slew of remote jumps.  I'd have to recreate all of the remote jumps if I switch to WebHelp.
    Hopefully Adobe can fix this issue.
    Well, first off, even though it would be WebHelp, it would be inside a CHM container. So for all intents and purposes it would be a CHM file. But having said that, I'm not sure there is a way to merge these hybrid types of CHM files.
    If your statement about Adobe fixing the issue is meaning that they can either remove the Print icon from the CHM Viewer, I wouldn't hold my breath because as I said, that's in Microsoft's lap and they haven't updated the CHM viewer in a long while. Doubtful they ever will.
    The only hope would then be for Adobe to update the code used for the Mini TOC. The only way that will happen is if enough folks submit this as a bug via the following link:
    http://www.adobe.com/go/wish
    Until that would happen, your likely best bet is to simply avoid using the Mini-TOC feature or just insert a warning that if the topic is printed, it will cause issues. Or, you could use bookmarks and links to establish your own verision of a "Mini-TOC"
    Cheers... Rick

  • Single sign-on using Kerberos and Ldap

    I am currently setting up single sign-on using Kerberos for authentication and Ldap for authorization and information store.
    The setup includes several Solaris 8 & 9 workstations, a couple of SGI's, as well as a M$ terminal server farm, several WinXP desktops and their associated Active Directory.
    I am required to authenticate etc against the AD. (which has M$ SFU3.5 installed)
    I have the Kerberos authentication and part of the Ldap service working via pam & nss.
    ie. I can logon to the solaris worksatations using the AD username and password, mount the home directory from a M$ NFS server.
    BUT...
    id gives:- userID, groupID (primary group only)
    groups :- primary group only. (no secondary groups are listed)
    Question: what additional configuration information do I need in the pam, nss &/or ldap config files, so that I can list the secondary groups.
    Thanks in advance for any help.

    After evaluating (giving up on, and finally throwing out) the Sun Directory server it looks like we are going to endup with a similar solution..
    Sadly enough, the MS AD seems much more stable and easier to handle than Suns DS, kerberos and associated services.
    Anyway, currently we are evaluating a product called vintela ( www.vintela.com ), and it seems very promising; its easy, robust, stable and does what we require it to do, as well as more :) It comes with an additional nss module called 'vas', so you easily can retrieve data like hosts/groups from your AD.
    //M.

  • What is the recommended way of connecting to repository out of WebDAV, RMI, JNDI and JCA connector ?

    What is the recommended way of connecting to repository out of WebDAV, RMI, JNDI, and JCA connector possibilities provided by CQ 5.5?

    Hi dp_adusumalli,
    I recognized your list of ~8 questions you posted at around the same time, as I received that same list in our customer implementation from Arif A., from the India team, visiting San Jose. :-)
    I provided him feedback for most of the questions, so please check back with Arif for that info.
    For this particular question, can you provide specifics for the types of interactions you are interested in?
    Understanding the kinds of things you need to achieve will help determine which of the CQ/CRX interfaces is best suited for the task(s).
    I've collated a few points on this subject on this page:
    Manipulating the Adobe WEM/CQ JCR
    Regards,
    Paul

  • I keep getting an error message ''dbghelp.dll is missing.  please reinstall itunes''  did that 3 times and same results.  can't sync my iphone or even open itunes

    i keep getting an error message ''dbghelp.dll is missing. please reinstall itunes''  did that 3 times and same results.
    i can't sync my iphone and i can't open itunes
    how do i resolve this issue?

    Taken at face value, you're having trouble with a Windows OS dll.
    Perhaps try an sfc /scannow. For instructions, see the following Microsoft document:
    How to use the System File Checker tool to troubleshoot missing or corrupted system files on Windows Vista or on Windows 7

  • In Indesign CS6 I export an artboard to  TIFF with the sdk's funtion SnapshotUtilsEx- ExportImageToTIFF(iStream) and, the resulting file is one pixel too large in the X, leaving a transparent strip on one edge. Any idea if there is a bug in the sdk?

    In Indesign CS6 I export an artboard to  TIFF with the sdk's funtion SnapshotUtilsEx->ExportImageToTIFF(iStream) and, the resulting file is one pixel too large in the X, leaving a transparent strip on one edge. Any idea if there is a bug in the sdk?

    An easy example to prove this bug of Indesing CS6:  I create a psd with Photoshop CS6, with width 505 pixels, height 317 pixels and a resolution of 300 pixels per inch. This psd is placed on a page in InDesign CS6. Then I try to export it as a tiff with the functions:
    fSnapshotUtilsEx->Draw(flags,fullResolutionGraphics,greekBelowPtSize,enableAntiAliasing,tr ansparencyQuality,abortCheck,pVPAttrMap,bDrawNonPrintingObjects);
    and
    SnapshotUtilsEx-> ExportImageToTIFF (iStream)
    The resulting tiff has a width of 506 pixels (one pixel more in width). It will happen the same if we start with a width of 507 pixels, etc.
    This error does not occur with Indesign CS5, nor Indesing CC.

Maybe you are looking for

  • Errore massage when trying to import file to the library

    Do anyone knows why this massage pops when I'm trying to import file to the library? "Attempting to copy to the disk "Data1" Failed. You do not have enough access privileges for this operation."

  • Cumulative Balance & P/L Reports

    I have to create two sets of reports on cumulative balance and P/L based on my general ledger cube. How would i do that. Which Key figures should i use for each of them. I need to have them with a month-to date, quater to date and year to date looks.

  • Anyone managed to run Izotope's Vinyl in Logic Pro 8?

    As the topic says, anyone managed to run Izotope's Vinyl in Logic Pro 8? Despite my specs below, I'm running on an Intel MacBook ... have downloaded Universal version but it doesn't even show up in the AU manager. Any suggestions? Same lack of access

  • How to delete an email entered wrongly on iTunes, which is stored to device?

    I have saved an Apple ID to my new device but I entered it and saved it incorrectly, now I cannot edit it or send a verification email as the address is wrong! I now wish to use an old account which is up and running if I log in using Safari but I ca

  • Cannot add folders, only a briefcase

    I'm using Windows 7 on my HP pavilion HPE desktop. For quite some time now, I haven't been able to create any new folders, only briefcases. (You cannot create a briefcase in a briefcase)  When using my wife's profile, you cannot create either one. Wh