Belirtiler
Başka bir paylaşılan kitaplığa bağımlı olan bir üçüncü taraf dış dil uzantısı çalıştırdığınızda hata iletisi alabilirsiniz.
Kitaplık bulunamadı hatası
Durum
Microsoft bunun, "Şunlar için geçerlidir" bölümünde listelenen Microsoft ürünlerinde sorun olduğunu doğrulamıştır.
Çözüm
Bu sorun, SQL ServerSQL Server için aşağıdaki toplu güncelleştirmede düzeltildi:
SQL Server toplu güncelleştirmeleri hakkında:
SQL Server için her yeni toplu güncelleştirme, önceki toplu güncelleştirmeye dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. SQL Server için en son toplu güncelleştirmelere göz atın:
Geçici çözüm
Windows için:
Bu soruna geçici bir çözüm olarak, açıkça şunlardan birini eklemelisiniz:
- Dil uzantısı zip dosyası bağımlılık kitaplığını içermiyorsa bağımlılık kitaplıklarının yolu VEYA
- dil ve uzantı dizinleri Dil uzantısı zip, uzantının kendisine ek olarak bağımlılık kitaplığını da içeriyorsa
bağımlılık kitaplıklarının bulunabilmesi için sistem PATH ortam değişkenine.
Örneğin:
1. Senaryo:
- Şu konumda bağımlılık kitaplığı olan bir dil uzantınız var: C:\\Users\\admin\\Documents\\dependency.dll.
- language-extension.zip yalnızcalanguageExtension.dlliçerir.
- Ardından, bağımlılığın yolunun sistem PATH ortam değişkenine eklendiğinden emin olun. Örneğin, C:\\Kullanıcılar\\admin\\Belgeler.
DIŞ DİL OLUŞTURMA [mylanguage]
FROM (CONTENT = N'C:\\Users\\admin\\Documents\\language-extension.zip', FILE_NAME = 'languageExtension.dll')
GO
2. Senaryo:
- language-extension.zip hem uzantılanguageExtension.dll hem de bağımlılık kitaplığını içeriyorsa - dependency.dll, önce ilgili veritabanında aşağıdaki katalog görünümünü çalıştırarak ve 65536'dan büyük yüklü en yüksek dil kimliğine 1 ekleyerek 65536'dan başlayan bir sonraki dil kimliğini bulun. Örneğin, ana veritabanı için "SELECT * FROM master.sys.external_languages".
- Şu yolu kullanarak örnek adınızı, database_id ve next_language_id yerine dil dizininin yolunu oluşturun: C:\\Program Files\\Microsoft SQL Server\\MSSQL15. MSSQLSERVER\\MSSQL\\ExternalLanguages\\database_id>\\<sonraki dil kimliği><.
- Sonra dış dili aşağıdaki gibi oluşturun:
DIŞ DİL OLUŞTURMA [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
Linux için:
Düzeltme yoktur ve uzantıları derlerken bağlayıcı rpath seçeneğine her zaman ${ORIGIN} eklemeniz gerekir.
Örneğin: set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-rpath,'${ORIGIN}'")
Başvurular
Microsoft'un yazılım güncelleştirmelerini tanımlamak için kullandığı terminoloji hakkında bilgi edinin.