Simptomi
Kada pokrenete proširenje za vanjski jezik drugog proizvođača koje ovisi o drugoj zajedničkoj biblioteci, možda će vam se prikazati poruka o pogrešci.
Pogreška Biblioteka nije pronađena
Status
Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku „Odnosi se na“.
Rješenje
Taj je problem riješen u sljedećem kumulativnom ažuriranju za SQL Server:
O kumulativnim ažuriranjima za SQL Server:
Svako novo kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sigurnosne popravke koji su obuhvaćeni prethodnim kumulativnim ažuriranjem. Pogledajte najnovija kumulativna ažuriranja za SQL Server:
Zaobilazno rješenje
U sustavu Windows:
Da biste zaobišli taj problem, izričito dodajte sljedeće:
- put do biblioteka zavisnosti ako ZIP jezičnog proširenja ne sadrži biblioteku zavisnosti ILI
- direktorije jezika i proširenja Ako ZIP jezičnog proširenja uz samo proširenje sadrži i biblioteku ovisnosti
varijabli okruženja PATH sustava tako da se mogu pronaći biblioteke ovisnosti.
Na primjer:
1. scenarij:
- imate jezični nastavak s bibliotekom zavisnosti na lokaciji: C:\\Users\\admin\\Documents\\dependency.dll.
- language-extension.zip sadrži samo languageExtension.dll.
- Zatim provjerite je li put do ovisnosti dodan u varijablu okruženja PATH sustava. Primjerice C:\\Korisnici\\administrator\\Dokumenti.
CREATE EXTERNAL LANGUAGE [mylanguage]
FROM (CONTENT = N'C:\\Users\\admin\\Documents\\language-extension.zip', FILE_NAME = 'languageExtension.dll')
GO
2. scenarij:
- Ako language-extension.zip sadrži i languageExtension.dll proširenja i biblioteku ovisnosti – dependency.dll, najprije pronađite sljedeći ID jezika počevši od 65536 tako da pokrenete sljedeći prikaz kataloga u odgovarajućoj bazi podataka i dodate 1 najvišem ID-u instaliranog jezika koji je veći od 65536. Za glavnu bazu podataka, primjerice, "ODABERI * FROM master.sys.external_languages".
- Generirajte put do direktorija jezika tako da naziv instance, database_id i next_language_id zamijenite sljedećim putem: C:\\Program Files\\Microsoft SQL Server\\MSSQL15. MSSQLSERVER\\MSSQL\\ExternalLanguages\\<database_id>\\sljedeći< ID> jezika.
- Zatim vanjski jezik stvorite na sljedeći način:
CREATE EXTERNAL LANGUAGE [mylanguage]
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"}');
GO
Za Linux:
Nema popravka i uvijek biste trebali dodati ${ORIGIN} u opciju poveznika rpath kada kompajlrate proširenja.
Na primjer: set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-rpath,'${ORIGIN}'")
Reference
Saznajte više o terminologiji koju Microsoft upotrebljava za opisivanje softverskih ažuriranja.