Windows 서비스를 만들고 있습니다. 이 서비스는 하루에 한 번 Advantage Database에서 데이터를 읽어야합니다. 장점 6082
는 내 컴퓨터의 장점 데이터베이스를 복사하고 그것을 잘 작동하지만, 나는 다음과 같은 오류가 서버에서 서비스하려고하면"AdsException : 오류 6082 : 오류 로딩 장점 로컬 서버 라이브러리를 . "
doc (link)에 따르면 \ WINDOWS \ SYSTEM 디렉토리에 ADSLOC32.DLL을 넣어야합니다.
시도해 보았지만 작동하지 않습니다.
아이디어가 있으십니까?
편집 : Windows 서비스와 정확히 동일한 코드를 실행하는 콘솔 응용 프로그램을 만들었으므로 정확하게 작동합니다. 문제는 서비스에서 비롯된 것 같습니다. 그러나 서비스의 어떤 부분이 잘못되었는지는 알 수 없습니다 ...
EDIT 2 : 프로세스 모니터에서 확인한 결과 서비스에서 adsloc32를로드하려고 시도하지 않았습니다. dll, adsloc64.dll을로드하려고 시도합니다. adsloc64.dll 파일을 찾지 못하여 응용 프로그램 디렉토리에 adsloc32.dll 사본을 만들고 adsloc64.dll이라는 이름을 지정했지만 작동하지 않았습니다.
시스템 (이전 16 비트 Windows 디렉터리) 대신 32 비트 DLL에 항상 System32 (32 비트 시스템) 또는 SysWOW64 (64 비트 시스템에서)를 사용해야합니다. 이 점에 관해서 설명서가 정확하지 않습니다. http://msdn.microsoft.com/en-us/library/7d83bc18(v=vs.80).aspx –
Windows는 여전히 16 비트 디렉터리를 검색하지만 이전 버전과의 호환성을 위해서만 사용됩니다. 이 링크를 참조하십시오 : http://msdn.microsoft.com/en-us/library/windows/desktop/ms682586%28v=vs.85%29.aspx –
이미 adsloc32.dll 파일이 System32 및 SysWow64. 해당 파일을 내 응용 프로그램 디렉터리에 저장하려고하지만 여전히 작동하지 않습니다. –