ПОЖАЛУЙСТА, ПОМОГИТЕ !!! У меня есть код для получения данных из AD. Раньше это работало в SQL2014 / Visual Studio2013. Теперь мы переходим на SQL2016. Я протестировал код в консольном приложении, и он работал просто отлично. Он просто не работает, когда я создаю тот же код в SQL CLR Stored Pro c с использованием Visual Studio 2017.
Это код в консольном приложении:
static void Main(string[] args)
{
DirectoryEntry ldapConnection;
DirectorySearcher search;
SearchResult result;
DirectoryEntry ldapconnection = null;
string szJDEID = "";
string szErrorMessage = "";
string szNetworkID = "xyz";
//--- Create and return new LDAP connection with desired settings
ldapConnection = new DirectoryEntry("LDAP://DC.company.com:389", "userid", "password");
ldapConnection.Path = "LDAP://DC=company,DC=com";
ldapConnection.AuthenticationType = AuthenticationTypes.Secure;
//--- create search object which operates on ldap connection object and set search object to only find the user specified
search = new DirectorySearcher(ldapconnection);
search.Filter = "(&(samaccountname=" + szNetworkID.Trim() + ")(memberOf=CN=JDEdwards Users,OU=Mail Enabled Manual,OU=Groups,OU=Global,DC=company,DC=com))";
result = search.FindOne();
if (result != null)
{
//--- create an array of properties that we would like and add them to the search object
string[] requiredproperties = new string[] { "extensionattribute13" };
foreach (string property in requiredproperties)
search.PropertiesToLoad.Add(property);
result = search.FindOne();
if (result != null)
{
foreach (string property in requiredproperties)
foreach (object mycollection in result.Properties[property])
szJDEID = mycollection.ToString();
}
}
else
{
szErrorMessage = "ERROR: This user does not belong to the JDEdwards Users AD Group. Please check with the IT Helpdesk team.";
}
}
Я получаю значение szJDEID, хранящееся в Extension Attribute13. Когда я помещаю один и тот же код в SQL CLR Stored Pro c, Logi c всегда возвращает значение szErrorMessage.
Чего мне не хватает?
Заранее спасибо.