ma hai trovato che l'unico modo è passare da ADO perchè comunque sei vincolato al VB o in generale?
Io in Java faccio molto semplicemente accesso ad un server ldap con questa classe:
codice:
package ldap;
/**
*
Title: </p>
*
Description: </p>
*
Copyright: Copyright (c) 2004</p>
*
Company: </p>
* @author unascribed
* @version 1.0
*/
import javax.naming.*;
import javax.naming.directory.*;
import java.util.*;
public class ldapprova {
public ldapprova() {
}
private static String connectToLDAP(String codiceCliente){
String error = "0";
String serverLDAP="ldap://127.0.0.1:389"; //prod ITG
System.out.println("mi connetto al server ldap " + serverLDAP);
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL,serverLDAP);
env.put(Context.SECURITY_AUTHENTICATION,"simple");
env.put(Context.SECURITY_PRINCIPAL,"cn=Directory Manager");
env.put(Context.SECURITY_CREDENTIALS,"itg");
Attribute objClasses = new BasicAttribute("objectclass");
objClasses.add("top");
objClasses.add("person");
objClasses.add("organizationalPerson");
objClasses.add("inetorgperson");
objClasses.add("siebel");
Attribute credentials = new BasicAttribute("credentials", "username=USER password=PWD type=Server");
Attribute cn = new BasicAttribute("cn", codiceClienteSieb);
Attribute sn = new BasicAttribute("sn", codiceClienteSieb);
Attribute userPassword = new BasicAttribute("userPassword", codiceClienteSieb);
Attribute uid = new BasicAttribute("uid", codiceClienteSieb);
Attribute givenName = new BasicAttribute("givenName", codiceClienteSieb);
String dn ="";
try{
DirContext ctx = new InitialDirContext(env);
Attributes attributi = new BasicAttributes();
attributi.put(objClasses);
attributi.put(cn);
attributi.put(sn);
attributi.put(uid);
attributi.put(userPassword);
attributi.put(givenName);
attributi.put(credentials);
dn = "uid=" + codiceClienteSieb + ", ou=People, dc=itg.it"; //per ITG
String[] attrs = new String[4];
attrs[ 0 ] = "cn";
attrs[ 1 ] = "sn";
attrs[ 2 ] = "uid";
attrs[ 3 ] = "userPassword";
Attributes result = ctx.getAttributes(dn, attrs);
if (result == null){
System.out.print("Attributi non presenti per "+dn);
}
else{
Attribute attr = result.get("cn");
if (attr != null){
System.out.println("cn:");
for(NamingEnumeration vals = attr.getAll();
vals.hasMoreElements();
System.out.println("\t" + vals.nextElement())
);
}
attr = result.get("sn");
if (attr != null){
System.out.println("sn:");
for(NamingEnumeration vals = attr.getAll();
vals.hasMoreElements();
System.out.println("\t" + vals.nextElement())
);
}
attr = result.get("uid");
if (attr != null){
System.out.println("uid:");
for(NamingEnumeration vals = attr.getAll();
vals.hasMoreElements();
System.out.println("\t" + vals.nextElement())
);
}
attr = result.get("userPassword");
if (attr != null){
System.out.println("userPassword:");
for(NamingEnumeration vals = attr.getAll();
vals.hasMoreElements();
System.out.println("\t" + vals.nextElement())
);
}
}
}
catch(NamingException ne){
ne.printStackTrace();
}
catch(Exception e){
e.printStackTrace();
error= "2";
}
return error;
}
public static void main(String args[]){
connectToLDAP("914003626175");
}
}