Discussion:
Regarding Octet String JDBC LDAP Bridge
Prajakta Kalekar
2003-09-16 05:13:51 UTC
Permalink
Hi,
I am using Octet String's JDBC LDAP Driver for accessing iPlanet
Directory Server data.

After connection has been established, I get the following error:

javax.naming.NameNotFoundException: [LDAP: error code 32 - No Such Object];
remaining name 'o=enlistautomatedtesting.com'
at com.sun.jndi.ldap.LdapCtx.mapErrorCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.c_lookup(Unknown Source)
at com.sun.jndi.toolkit.ctx.ComponentContext.p_lookup(Unknown
Source)
at com.sun.jndi.toolkit.ctx.PartialCompositeContext.lookup(Unknown
Source)
at com.sun.jndi.toolkit.ctx.PartialCompositeContext.lookup(Unknown
Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at
com.octetstring.jdbcLdap.jndi.JndiLdapConnection.isClosed(JndiLdapConnection
.java:270)
at
com.octetstring.jdbcLdap.jndi.JndiLdapConnection.<init>(JndiLdapConnection.j
ava:241)
at
com.octetstring.jdbcLdap.sql.JdbcLdapDriver.connect(JdbcLdapDriver.java:75)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at octetString.Connect.main(Connect.java:38)

What can I do to overcome this problem? I require a solution to this
problem urgently. Any pointers will be extremely valuable.
Thank you,
Prajakta Kalekar.
Marc Boorshtein
2003-09-24 01:35:56 UTC
Permalink
This generally means that the base of the connection and the base of the
query overlap, for example when search o=People,c=us the connection
could be at c=us and the search base should be ou=People.

Marc Boorshtein
Post by Prajakta Kalekar
Hi,
I am using Octet String's JDBC LDAP Driver for accessing iPlanet
Directory Server data.
javax.naming.NameNotFoundException: [LDAP: error code 32 - No Such Object];
remaining name 'o=enlistautomatedtesting.com'
at com.sun.jndi.ldap.LdapCtx.mapErrorCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.c_lookup(Unknown Source)
at com.sun.jndi.toolkit.ctx.ComponentContext.p_lookup(Unknown
Source)
at com.sun.jndi.toolkit.ctx.PartialCompositeContext.lookup(Unknown
Source)
at com.sun.jndi.toolkit.ctx.PartialCompositeContext.lookup(Unknown
Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at
com.octetstring.jdbcLdap.jndi.JndiLdapConnection.isClosed(JndiLdapConnection
.java:270)
at
com.octetstring.jdbcLdap.jndi.JndiLdapConnection.<init>(JndiLdapConnection.j
ava:241)
at
com.octetstring.jdbcLdap.sql.JdbcLdapDriver.connect(JdbcLdapDriver.java:75)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at octetString.Connect.main(Connect.java:38)
What can I do to overcome this problem? I require a solution to this
problem urgently. Any pointers will be extremely valuable.
Thank you,
Prajakta Kalekar.
--
Marc Boorshtein <***@octetstring.com>
OctetString
Clemens Helf
2003-09-24 08:39:50 UTC
Permalink
I am experiencing the same problem with the same stack trace.

From the stack trace, I concluded, that no query has been issued yet,
so there can be no overlap between a query and the connection. To verify
my point, I removed the query from the source code and the same
exception is thrown.

Despite the exception, the code continues to operate, so the exception
output is probably generated within a catch clause. I could successfully
execute a SELECT query despite the exception, but I was not able to
execute an INSERT INTO query.

Clemens Helf
Post by Marc Boorshtein
This generally means that the base of the connection and the base of the
query overlap, for example when search o=People,c=us the connection
could be at c=us and the search base should be ou=People.
Marc Boorshtein
Post by Prajakta Kalekar
Hi,
I am using Octet String's JDBC LDAP Driver for accessing iPlanet
Directory Server data.
javax.naming.NameNotFoundException: [LDAP: error code 32 - No Such Object];
remaining name 'o=enlistautomatedtesting.com'
at com.sun.jndi.ldap.LdapCtx.mapErrorCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.c_lookup(Unknown Source)
at com.sun.jndi.toolkit.ctx.ComponentContext.p_lookup(Unknown
Source)
at com.sun.jndi.toolkit.ctx.PartialCompositeContext.lookup(Unknown
Source)
at com.sun.jndi.toolkit.ctx.PartialCompositeContext.lookup(Unknown
Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at
com.octetstring.jdbcLdap.jndi.JndiLdapConnection.isClosed(JndiLdapConnection
.java:270)
at
com.octetstring.jdbcLdap.jndi.JndiLdapConnection.<init>(JndiLdapConnection.j
ava:241)
at
com.octetstring.jdbcLdap.sql.JdbcLdapDriver.connect(JdbcLdapDriver.java:75)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at octetString.Connect.main(Connect.java:38)
What can I do to overcome this problem? I require a solution to this
problem urgently. Any pointers will be extremely valuable.
Thank you,
Prajakta Kalekar.
Prajakta Kalekar
2003-09-24 09:02:15 UTC
Permalink
Yes, I am faced with the exact same problem.
Prajakta Kalekar.

-----Original Message-----
From: owner-openldap-***@OpenLDAP.org
[mailto:owner-openldap-***@OpenLDAP.org]On Behalf Of Clemens Helf
Sent: Wednesday, September 24, 2003 2:10 PM
To: openldap-***@OpenLDAP.org
Subject: Re: Regarding Octet String JDBC LDAP Bridge


I am experiencing the same problem with the same stack trace.

From the stack trace, I concluded, that no query has been issued yet,
so there can be no overlap between a query and the connection. To verify
my point, I removed the query from the source code and the same
exception is thrown.

Despite the exception, the code continues to operate, so the exception
output is probably generated within a catch clause. I could successfully
execute a SELECT query despite the exception, but I was not able to
execute an INSERT INTO query.

Clemens Helf
Post by Marc Boorshtein
This generally means that the base of the connection and the base of the
query overlap, for example when search o=People,c=us the connection
could be at c=us and the search base should be ou=People.
Marc Boorshtein
Post by Prajakta Kalekar
Hi,
I am using Octet String's JDBC LDAP Driver for accessing iPlanet
Directory Server data.
javax.naming.NameNotFoundException: [LDAP: error code 32 - No Such Object];
remaining name 'o=enlistautomatedtesting.com'
at com.sun.jndi.ldap.LdapCtx.mapErrorCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.c_lookup(Unknown Source)
at com.sun.jndi.toolkit.ctx.ComponentContext.p_lookup(Unknown
Source)
at com.sun.jndi.toolkit.ctx.PartialCompositeContext.lookup(Unknown
Source)
at com.sun.jndi.toolkit.ctx.PartialCompositeContext.lookup(Unknown
Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at
com.octetstring.jdbcLdap.jndi.JndiLdapConnection.isClosed(JndiLdapConnecti
on
Post by Marc Boorshtein
Post by Prajakta Kalekar
.java:270)
at
com.octetstring.jdbcLdap.jndi.JndiLdapConnection.<init>(JndiLdapConnection
.j
Post by Marc Boorshtein
Post by Prajakta Kalekar
ava:241)
at
com.octetstring.jdbcLdap.sql.JdbcLdapDriver.connect(JdbcLdapDriver.java:75
)
Post by Marc Boorshtein
Post by Prajakta Kalekar
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at octetString.Connect.main(Connect.java:38)
What can I do to overcome this problem? I require a solution to this
problem urgently. Any pointers will be extremely valuable.
Thank you,
Prajakta Kalekar.
Clemens Helf
2003-09-24 12:24:58 UTC
Permalink
To get some idea of the problem, I looked into the sources, especially
into 'com.octetstring.jndi.JndiLdapConnection.java'. To my understanding
there is a bug in method 'public boolean isClosed()'.

This method is called by the JndiLdapConnection()-constructor after
having created an 'InitialDirContext' to check the context.
isClosed executes 'con.lookup(baseDN)', instead of 'con.lookup("")',
which leads to a lookup of 'ldap://host:port/baseDN,baseDN' which fails
if 'baseDN!=null'. Perhaps Marc Boorshtein would like to comment on that
observation.

Another answer to this thread by C. Rahul mentions a workaround: create
the connection with an empty baseDN. Even my 'INSERT INTO' works like that.
Post by Prajakta Kalekar
Yes, I am faced with the exact same problem.
Prajakta Kalekar.
-----Original Message-----
Sent: Wednesday, September 24, 2003 2:10 PM
Subject: Re: Regarding Octet String JDBC LDAP Bridge
I am experiencing the same problem with the same stack trace.
From the stack trace, I concluded, that no query has been issued yet,
so there can be no overlap between a query and the connection. To verify
my point, I removed the query from the source code and the same
exception is thrown.
Despite the exception, the code continues to operate, so the exception
output is probably generated within a catch clause. I could successfully
execute a SELECT query despite the exception, but I was not able to
execute an INSERT INTO query.
Clemens Helf
Post by Marc Boorshtein
This generally means that the base of the connection and the base of the
query overlap, for example when search o=People,c=us the connection
could be at c=us and the search base should be ou=People.
Marc Boorshtein
Post by Prajakta Kalekar
Hi,
I am using Octet String's JDBC LDAP Driver for accessing iPlanet
Directory Server data.
javax.naming.NameNotFoundException: [LDAP: error code 32 - No Such
Object];
Post by Marc Boorshtein
Post by Prajakta Kalekar
remaining name 'o=enlistautomatedtesting.com'
at com.sun.jndi.ldap.LdapCtx.mapErrorCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.c_lookup(Unknown Source)
at com.sun.jndi.toolkit.ctx.ComponentContext.p_lookup(Unknown
Source)
at com.sun.jndi.toolkit.ctx.PartialCompositeContext.lookup(Unknown
Source)
at com.sun.jndi.toolkit.ctx.PartialCompositeContext.lookup(Unknown
Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at
com.octetstring.jdbcLdap.jndi.JndiLdapConnection.isClosed(JndiLdapConnecti
on
Post by Marc Boorshtein
Post by Prajakta Kalekar
.java:270)
at
com.octetstring.jdbcLdap.jndi.JndiLdapConnection.<init>(JndiLdapConnection
.j
Post by Marc Boorshtein
Post by Prajakta Kalekar
ava:241)
at
com.octetstring.jdbcLdap.sql.JdbcLdapDriver.connect(JdbcLdapDriver.java:75
)
Post by Marc Boorshtein
Post by Prajakta Kalekar
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at octetString.Connect.main(Connect.java:38)
What can I do to overcome this problem? I require a solution to this
problem urgently. Any pointers will be extremely valuable.
Thank you,
Prajakta Kalekar.
--
Dr.-Ing. Clemens Helf InformationsSysteme & Web-Anwendungen
Rechenzentrum
Universitaet Stuttgart Tel: ++49-711-685 5812
Allmandring 30 Fax: ++49-711-678 7626
D-70550 Stuttgart
Marc Boorshtein
2003-09-24 12:44:49 UTC
Permalink
Actually, it seems that everyone is right more or less.

Yes: There is a bug where the wrong context is being searched to verify
the connection, but I am checking for an exception to ensure the
connection is open, so it shouldn't impact the queries.

Yes: The base specified in the connection string and the base specified
in the search base or the context being created can not overlap.

In the case of an insert the bridge is creating a new context and the
new context is what you are inserting to. So this would mean that the
statement:

INSERT INTO cn=Marc,ou=People (obejctClass,objectClass,cn,sn) VALUES
(top,person,Marc,Boorshtein)

creates a new entry called cn=Marc,ou=People,dc=... and that the new
context is beneath the base. To be able to have a prepared statement
where the new context is based on some values, you would need a
statement that looks like:

INSERT INTO cn,ou=People (objectClass,objectClass,cn,sn) VALUES
(top,person,?,?)

Where the first "?" would be the cn and the second "?" would be the sn.

Hope this helps.

Marc Boorshtein
Post by Clemens Helf
To get some idea of the problem, I looked into the sources, especially
into 'com.octetstring.jndi.JndiLdapConnection.java'. To my understanding
there is a bug in method 'public boolean isClosed()'.
This method is called by the JndiLdapConnection()-constructor after
having created an 'InitialDirContext' to check the context.
isClosed executes 'con.lookup(baseDN)', instead of 'con.lookup("")',
which leads to a lookup of 'ldap://host:port/baseDN,baseDN' which fails
if 'baseDN!=null'. Perhaps Marc Boorshtein would like to comment on that
observation.
Another answer to this thread by C. Rahul mentions a workaround: create
the connection with an empty baseDN. Even my 'INSERT INTO' works like that.
Post by Prajakta Kalekar
Yes, I am faced with the exact same problem.
Prajakta Kalekar.
-----Original Message-----
Sent: Wednesday, September 24, 2003 2:10 PM
Subject: Re: Regarding Octet String JDBC LDAP Bridge
I am experiencing the same problem with the same stack trace.
From the stack trace, I concluded, that no query has been issued yet,
so there can be no overlap between a query and the connection. To verify
my point, I removed the query from the source code and the same
exception is thrown.
Despite the exception, the code continues to operate, so the exception
output is probably generated within a catch clause. I could successfully
execute a SELECT query despite the exception, but I was not able to
execute an INSERT INTO query.
Clemens Helf
Post by Marc Boorshtein
This generally means that the base of the connection and the base of the
query overlap, for example when search o=People,c=us the connection
could be at c=us and the search base should be ou=People.
Marc Boorshtein
Post by Prajakta Kalekar
Hi,
I am using Octet String's JDBC LDAP Driver for accessing iPlanet
Directory Server data.
javax.naming.NameNotFoundException: [LDAP: error code 32 - No Such
Object];
Post by Marc Boorshtein
Post by Prajakta Kalekar
remaining name 'o=enlistautomatedtesting.com'
at com.sun.jndi.ldap.LdapCtx.mapErrorCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.c_lookup(Unknown Source)
at com.sun.jndi.toolkit.ctx.ComponentContext.p_lookup(Unknown
Source)
at com.sun.jndi.toolkit.ctx.PartialCompositeContext.lookup(Unknown
Source)
at com.sun.jndi.toolkit.ctx.PartialCompositeContext.lookup(Unknown
Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at
com.octetstring.jdbcLdap.jndi.JndiLdapConnection.isClosed(JndiLdapConnecti
on
Post by Marc Boorshtein
Post by Prajakta Kalekar
.java:270)
at
com.octetstring.jdbcLdap.jndi.JndiLdapConnection.<init>(JndiLdapConnection
.j
Post by Marc Boorshtein
Post by Prajakta Kalekar
ava:241)
at
com.octetstring.jdbcLdap.sql.JdbcLdapDriver.connect(JdbcLdapDriver.java:75
)
Post by Marc Boorshtein
Post by Prajakta Kalekar
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at octetString.Connect.main(Connect.java:38)
What can I do to overcome this problem? I require a solution to this
problem urgently. Any pointers will be extremely valuable.
Thank you,
Prajakta Kalekar.
--
Marc Boorshtein <***@octetstring.com>
OctetString
Douglas B. Jones
2003-09-24 20:58:04 UTC
Permalink
Hi,

We have our old dn of o=gpc,c=us and I would like to make it an
alias for one of our new dns'. We have:

dc=employee,dc=gpc,dc=edu
dc=student,dc=gpc,dc=edu
dc=contractor,dc=gpc,dc=edu
dc=department,dc=gpc,dc=edu
dc=gpc,dc=edu

I would like to alias o=gpc,c=us to dc=employee,dc=gpc,dc=edu? It
doesn't appear that referrals are the way to go. Any recommendations?

Thanks,
Cheers,
Douglas
Douglas B. Jones
2003-09-29 15:26:52 UTC
Permalink
Hi,

Has anyone any ideas on this? It sure would make it a lot
easier for us here.

Thanks,
Cheers,
Douglas

-----Original Message-----
From: owner-openldap-***@OpenLDAP.org
[mailto:owner-openldap-***@OpenLDAP.org]On Behalf Of Douglas B.
Jones
Sent: Wednesday, September 24, 2003 4:58 PM
To: openldap-***@OpenLDAP.org
Cc: Douglas B Jones
Subject: alias for old dn



Hi,

We have our old dn of o=gpc,c=us and I would like to make it an
alias for one of our new dns'. We have:

dc=employee,dc=gpc,dc=edu
dc=student,dc=gpc,dc=edu
dc=contractor,dc=gpc,dc=edu
dc=department,dc=gpc,dc=edu
dc=gpc,dc=edu

I would like to alias o=gpc,c=us to dc=employee,dc=gpc,dc=edu? It
doesn't appear that referrals are the way to go. Any recommendations?

Thanks,
Cheers,
Douglas
Howard Chu
2003-09-29 18:09:48 UTC
Permalink
Post by Prajakta Kalekar
-----Original Message-----
Jones
Hi,
Has anyone any ideas on this? It sure would make it a lot
easier for us here.
What's wrong with the referral approach?

-- Howard Chu
Chief Architect, Symas Corp. Director, Highland Sun
http://www.symas.com http://highlandsun.com/hyc
Symas: Premier OpenSource Development and Support
Post by Prajakta Kalekar
-----Original Message-----
Jones
Sent: Wednesday, September 24, 2003 4:58 PM
Cc: Douglas B Jones
Subject: alias for old dn
Hi,
We have our old dn of o=gpc,c=us and I would like to make it an
dc=employee,dc=gpc,dc=edu
dc=student,dc=gpc,dc=edu
dc=contractor,dc=gpc,dc=edu
dc=department,dc=gpc,dc=edu
dc=gpc,dc=edu
I would like to alias o=gpc,c=us to dc=employee,dc=gpc,dc=edu? It
doesn't appear that referrals are the way to go. Any recommendations?
Thanks,
Cheers,
Douglas
C Rahul
2003-09-24 11:25:36 UTC
Permalink
I agreed with what Marc said ... One should be careful and clear
about the context while making the connection and while executing
the INSERT INTO statement.

You can send your sample code , so that I can look into it .

I will provide you with a sample code which i am test with Novell
eDirectory but it should work fine with iPlanet Directory also

I have created a Tree with the following structure

SAMPLE ( Tree Name hosted on machine A.B.C.D
|
|--------- o = novell ( Container )
|
| ------------ cn = admin ( User with password no )



A Sample code can be

public class Insert {
public static void main(String[] args) throws Exception {

Class.forName("com.octetstring.jdbcLdap.sql.JdbcLdapDriver");
String ldapConnectString =
"jdbc:ldap://A.B.C.D:38900/?SEARCH_SCOPE:=subTreeScope";
java.sql.Connection con;

con =
DriverManager.getConnection(ldapConnectString,"cn=admin,o=novell","no");

try {
System.out.println("Attempting to insert test
records...");
Statement stmt = con.createStatement();
int count = 0;
count =
stmt.executeUpdate( INSERT INTO ou=clemens,o=novell
(objectClass,objectClass,ou) VALUES (top,organizationalunit,clemens)");
if (count < 1) {
System.out.println("Test Insert failed.");
} else {
System.out.println("Test Insert succeeded.");
}
stmt.close();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("Test run finished.");
}
}

Here these 2 statements in Bold are most important. While Establishing
the connection I have not specified any context and hence things are
working fine ..

Instead of the Above things if i do something like this , I will
encounter the same problem as faced by you...

String ldapConnectString
="jdbc:ldap://A.B.C.D:38900/o=novell?SEARCH_SCOPE:=subTreeScope";
stmt.executeUpdate( INSERT INTO ou=clemens,o=novell
(objectClass,objectClass,ou) VALUES (top,organizationalunit,clemens)");

Because here it tries to insert the Organizational Unit ou=Clemens
under o=novell,o=novell which is a invalid context and u get the error

javax.naming.NameNotFoundException: [LDAP: error code 32 - No Such
Object]; remaining name 'o=novell'

You can confirm this from Marc, though i am confident that this is the
correct behavior..

Hope this solves your problem

Thanks
Rahul Chatterjee
I am experiencing the same problem with the same stack trace.

From the stack trace, I concluded, that no query has been issued yet,

so there can be no overlap between a query and the connection. To
verify
my point, I removed the query from the source code and the same
exception is thrown.

Despite the exception, the code continues to operate, so the exception

output is probably generated within a catch clause. I could
successfully
execute a SELECT query despite the exception, but I was not able to
execute an INSERT INTO query.

Clemens Helf
Post by Marc Boorshtein
This generally means that the base of the connection and the base of
the
Post by Marc Boorshtein
query overlap, for example when search o=People,c=us the connection
could be at c=us and the search base should be ou=People.
Marc Boorshtein
Post by Prajakta Kalekar
Hi,
I am using Octet String's JDBC LDAP Driver for accessing
iPlanet
Post by Marc Boorshtein
Post by Prajakta Kalekar
Directory Server data.
javax.naming.NameNotFoundException: [LDAP: error code 32 - No Such
Object];
Post by Marc Boorshtein
Post by Prajakta Kalekar
remaining name 'o=enlistautomatedtesting.com'
at com.sun.jndi.ldap.LdapCtx.mapErrorCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.c_lookup(Unknown Source)
at com.sun.jndi.toolkit.ctx.ComponentContext.p_lookup(Unknown
Source)
at
com.sun.jndi.toolkit.ctx.PartialCompositeContext.lookup(Unknown
Post by Marc Boorshtein
Post by Prajakta Kalekar
Source)
at
com.sun.jndi.toolkit.ctx.PartialCompositeContext.lookup(Unknown
Post by Marc Boorshtein
Post by Prajakta Kalekar
Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at
com.octetstring.jdbcLdap.jndi.JndiLdapConnection.isClosed(JndiLdapConnection
.java:270)
at
com.octetstring.jdbcLdap.jndi.JndiLdapConnection.<init>(JndiLdapConnection.j
ava:241)
at
com.octetstring.jdbcLdap.sql.JdbcLdapDriver.connect(JdbcLdapDriver.java:75)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at octetString.Connect.main(Connect.java:38)
What can I do to overcome this problem? I require a solution to
this
Post by Marc Boorshtein
Post by Prajakta Kalekar
problem urgently. Any pointers will be extremely valuable.
Thank you,
Prajakta Kalekar.
Loading...