
LDAP 검색에서 검색 결과가 없을 때 오류가 발생하는 원인은 두 가지입니다.
1. 검색 결과가 없을 때 오류 발생: LDAP 서버에서 검색 결과가 없을 때, ldap_search 함수는 LDAP_ERROR_NO_SUCH_OBJECT 오류를 반환합니다. 이 오류를 해결하기 위해, 검색 결과가 없을 때 오류가 발생하지 않도록 설정할 수 있습니다. 예를 들어, LDAP 서버의 검색 결과가 없을 때 오류가 발생하지 않도록 ldap_search 함수의 옵션을 설정할 수 있습니다.
#hostingforum.kr
c
LDAP* ld;
int rc;
LDAPMessage* msg;
/* LDAP 서버와의 연결을 설정합니다. */
ld = ldap_init("ldap서버 주소", LDAP_PORT);
if (ld == NULL) {
printf("LDAP 서버와의 연결을 설정할 수 없습니다.n");
return -1;
}
/* 검색 결과가 없을 때 오류가 발생하지 않도록 설정합니다. */
rc = ldap_set_option(ld, LDAP_OPT_ERROR_ON_NOT_FOUND, LDAP_OPT_ON_NOT_FOUND_FALSE);
if (rc != LDAP_SUCCESS) {
printf("검색 결과가 없을 때 오류를 설정할 수 없습니다.n");
return -1;
}
/* LDAP 검색을 수행합니다. */
msg = ldap_search_ext_s(ld, "검색 조건", LDAP_SCOPE_SUBTREE, NULL, NULL, 0, NULL, NULL, NULL, 0, NULL);
if (msg == NULL) {
printf("LDAP 검색을 수행할 수 없습니다.n");
return -1;
}
/* 검색 결과를 처리합니다. */
// ...
2. LDAP 서버와의 연결이 끊기는 오류 발생: LDAP 서버와의 연결이 끊기는 오류는 LDAP 서버와의 연결이 끊긴 경우 발생합니다. 이 오류를 해결하기 위해, LDAP 서버와의 연결을 재establish할 수 있습니다. 예를 들어, LDAP 서버와의 연결이 끊긴 경우, ldap_reconnect 함수를 사용하여 LDAP 서버와의 연결을 재establish할 수 있습니다.
#hostingforum.kr
c
LDAP* ld;
int rc;
/* LDAP 서버와의 연결을 설정합니다. */
ld = ldap_init("ldap서버 주소", LDAP_PORT);
if (ld == NULL) {
printf("LDAP 서버와의 연결을 설정할 수 없습니다.n");
return -1;
}
/* LDAP 서버와의 연결이 끊기면 재establish합니다. */
rc = ldap_reconnect(ld);
if (rc != LDAP_SUCCESS) {
printf("LDAP 서버와의 연결을 재establish할 수 없습니다.n");
return -1;
}
/* LDAP 검색을 수행합니다. */
msg = ldap_search_ext_s(ld, "검색 조건", LDAP_SCOPE_SUBTREE, NULL, NULL, 0, NULL, NULL, NULL, 0, NULL);
if (msg == NULL) {
printf("LDAP 검색을 수행할 수 없습니다.n");
return -1;
}
/* 검색 결과를 처리합니다. */
// ...
이러한 방법을 통해 LDAP 검색에서 검색 결과가 없을 때 오류를 해결할 수 있습니다.
2025-04-30 05:03