Symptomer
Når du kører et eksternt sprogudvidelse fra tredjepart, som er afhængig af et andet delt bibliotek, får du muligvis vist en fejlmeddelelse.
Fejlen Biblioteket blev ikke fundet
Status
Microsoft har bekræftet, at dette er et problem i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".
Løsning
Dette problem er rettet i følgende kumulative opdatering til SQL Server:
Om kumulative opdateringer til SQL Server:
Hver ny kumulativ opdatering til SQL Server indeholder alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den forrige kumulative opdatering. Se de seneste kumulative opdateringer til SQL Server:
Løsning
I Windows:
Du kan løse dette problem ved udtrykkeligt at tilføje enten:
- stien til afhængighedsbibliotekerne, hvis sprogudvidelses-zip-filen ikke indeholder afhængighedsbiblioteket ELLER
- mapperne sprog og udvidelser Hvis sprogudvidelsens ZIP indeholder afhængighedsbiblioteket ud over selve udvidelsen
til systemets PATH-miljøvariable, så afhængighedsbibliotekerne kan findes.
For eksempel:
Scenarie 1:
- Du har et sprogudvidelse med et afhængighedsbibliotek på placeringen: C:\\Users\\admin\\Documents\\dependency.dll.
- language-extension.zip indeholder kun languageExtension.dll.
- Kontrollér derefter, at stien til afhængigheden føjes til systemets PATH-miljøvariable. F.eks. C:\\Users\\admin\\Documents.
OPRET EKSTERNT SPROG [mitsprog]
FROM (CONTENT = N'C:\\Users\\admin\\Documents\\language-extension.zip', FILE_NAME = 'languageExtension.dll')
START
Scenarie 2:
- Hvis language-extension.zip indeholder både udvidelsen languageExtension.dll og dens afhængighedsbibliotek - dependency.dll, skal du først finde det næste sprog-id startende fra 65536 ved at køre følgende katalogvisning i den respektive database og føje 1 til det højest installerede sprog-id, der er større end 65536. Eksempel: for hoveddatabase "SELECT * FROM master.sys.external_languages".
- Opret stien til sprogmappen ved at erstatte dit forekomstnavn, database_id og next_language_id i følgende sti: C:\\Program Files\\Microsoft SQL Server\\MSSQL15. MSSQLSERVER\\MSSQL\\ExternalLanguages\\database_id>\\<next language id><.
- Opret derefter det eksterne sprog som følger:
OPRET EKSTERNT SPROG [mitsprog]
FROM (CONTENT = N'C:\\Users\\admin\\Documents\\language-extension.zip', FILE_NAME = 'languageExtension.dll',
ENVIRONMENT_VARIABLES = N'{"PATH":"C:\\ProgramFiles\\Microsoft SQLServer\\MSSQL15. MSSQLSERVER\\MSSQL\\ExternalLanguages\\1\\65536"}');
START
Til Linux:
Der er ingen rettelse, og du bør altid tilføje ${ORIGIN} til linker-rpath-indstillingen, når du kompilerer udvidelserne.
Eksempel: set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-rpath,'${ORIGIN}'")
Referencer
Få mere at vide om den terminologi, som Microsoft bruger til at beskrive softwareopdateringer.