KB4577594 - FIX: keele- ja laiendkaustade lisamine path keskkonnamuutuja SQL Server 2019

Rakenduskoht
SQL Server 2019 on Linux SQL Server 2019 on Windows

Sümptomid

Kui käivitate mõnest muust ühisteegist sõltuva muu tootja välise keele laiendi, võidakse kuvada tõrketeade.

Tõrget ei leitud teegist

Olek

Microsoft on kinnitanud, et see on jaotises „Rakenduskoht“ loetletud Microsofti toodete korral esinev probleem.

Lahendus

See probleem on lahendatud järgmises SQL Server koondvärskenduses:

Teave SQL Server koondvärskenduste kohta.

Iga uus koondvärskendus SQL Server sisaldab kõiki kiirparandusi ja kõiki turbeparandusi, mis olid kaasatud eelmise koondvärskenduse. Vaadake uusimaid SQL Server koondvärskendusi.

Ajutine lahendus

Windowsis tehke järgmist.

Selle probleemi lahendamiseks peaksite selgesõnaliselt lisama ühe järgmistest:

  • sõltuvusteekide tee, kui keelelaiend zIP ei sisalda sõltuvusteeki OR
  • the language and extension directorys If the language extension zip contains the dependency library in to the extension itself

süsteemi PATH keskkonnamuutujaga, et sõltuvusteegid oleks leitavad.

Siin on mõned näited.

1. stsenaarium:

  1. Teil on keelelaiend sõltuvusteegiga asukohas: C:\\Users\\admin\\Documents\\dependency.dll.
  2. language-extension.zip sisaldab ainult languageExtension.dll.
  3. Seejärel veenduge, et sõltuvuse tee on lisatud süsteemi PATH keskkonnamuutujale. Näiteks C:\\Kasutajad\\admin\\Dokumendid.

VÄLISKEELE LOOMINE [minukeel]

FROM (CONTENT = N'C:\\Users\\admin\\Documents\\language-extension.zip', FILE_NAME = 'languageExtension.dll')

GO

2. stsenaarium:

  1. Kui language-extension.zip sisaldab nii languageExtension.dll laiendit kui ka sõltuvusteeki – dependency.dll, otsige esmalt üles järgmine keele-ID alates 65536-st, käivitades vastavas andmebaasis järgmise kataloogivaate ja lisades 1 suurimale installitud keele-ID-le, mis on suurem kui 65536. Näiteks põhiandmebaasi puhul "SELECT * FROM master.sys.external_languages".
  2. Looge keelekataloogi tee, asendades eksemplari nime, database_id ja next_language_id järgmisel teel: C:\\Program Files\\Microsoft SQL Server\\MSSQL15. MSSQLSERVER\\MSSQL\\ExternalLanguages\\<database_id>\\<next language ID>.
  3. Seejärel looge väliskeel järgmiselt.

VÄLISKEELE LOOMINE [minukeel]

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:
      

Lahendust pole ja laiendite kompileerimisel peaksite alati lisama lingija raadiusesse $ {ORIGIN} .

Näide: set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-rpath,'${ORIGIN}'")

Viited

Lisateave Microsofti tarkvaravärskenduste terminoloogia kohta.