Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server 2019 (15.x)
Veritabanındaki mevcut harici bir dil uzantısındaki içeriği değiştirir.
Syntax
ALTER EXTERNAL LANGUAGE language_name
[ AUTHORIZATION owner_name ]
{
SET <file_spec>
| ADD <file_spec>
| REMOVE PLATFORM <platform>
}
[ ; ]
<file_spec> ::=
{
( CONTENT = {<external_lang_specifier> | <content_bits>,
FILE_NAME = <external_lang_file_name>
[, PLATFORM = <platform> ]
[, PARAMETERS = <external_lang_parameters> ]
[, ENVIRONMENT_VARIABLES = <external_lang_env_variables> ] )
}
<external_lang_specifier> :: =
{
'[file_path\]os_file_name'
}
<content_bits> :: =
{
varbinary_literal
| varbinary_expression
}
<external_lang_file_name> :: =
'extension_file_name'
<platform> :: =
{
WINDOWS
| LINUX
}
< external_lang_parameters > :: =
'extension_specific_parameters'
Arguments
language_name
Diller, veritabanı kapsamlı nesnelerdir. Dil isimleri veritabanında benzersiz olmalıdır.
owner_name
Dış dili sahip olan kullanıcının veya rolün adını belirtir. Belirtilmezse, sahiplik geçerli kullanıcıya verilir. İzinlere bağlı olarak, diğer kullanıcılara belirli bir dil kullanarak script çalıştırmak için açık izin verilebilir.
file_spec
Dil uzantısının içeriğini belirtir. Her platform için belirli bir dil için yalnızca bir dosya spec'i izinlidir.
external_lang_specifier
Uzantılar kodunu içeren .zip veya tar.gz dosyasına giden tam dosya yolu. Bu içerik ya .zip dosyasına giden yol (Windows'de) ya da tar.gz (Linux'ta) olabilir.
content_bits
Dilin içeriğini, assemble'lere benzer şekilde, bir hex literal olarak belirtir. Bu seçenek, bir dil oluşturmanız veya mevcut bir dili değiştirmeniz gerekiyorsa (ve bunun için gerekli izinlere sahipseniz) faydalıdır, ancak sunucudaki dosya sistemi kısıtlıdır ve kütüphane dosyalarını sunucunun erişebileceği bir konuma kopyalayamazsınız.
external_lang_file_name
Uzantı .dll veya .so dosyasının adı. Bu, external_lang_specifier .zip veya tar.gz> içinde birkaç .dll veya .so dosyası <olduğunda doğru dosyayı belirlemek için gereklidir.
external_lang_parameters
Bu, dış dil çalışma zamanına bir dizi parametre verme imkanı sağlar. Parametre değerleri, harici işlem başladıktan sonra harici çalışma zamanına sağlanır. Ancak ortam değişkenleri, harici süreç başlatmadan önce dil uzantısına erişebilmektedir.
external_lang_env_variables
Bu, harici süreç başlatmadan önce harici dil çalışma zamanına bir dizi ortam değişkeni verme imkanı sağlar. Bir ortam değişkenine örnek olarak, çalışma zamanının ana dizini örneğin. Örneğin: JRE_HOME.
peron
Bu parametre hibrit işletim sistemi senaryoları için gereklidir. Hibrit mimaride, dil platform başına bir kez kaydedilmelidir. Platform ve dil adı, harici dil için benzersiz anahtar olacaktır. Herhangi bir platform belirtilmemişse, mevcut işletim sistemi varsayılır.
Remarks
Şu anda PARAMETERS ve ENVIRONMENT_VARIABLES desteklenmemektedir.
Permissions
İzin gerektirir ALTER ANY EXTERNAL LANGUAGE . Varsayılan olarak, dbo sahibi olan ve db_owner rolünün üyesi olan herhangi bir kullanıcının harici bir dili değiştirme iznine sahiptir. Diğer tüm kullanıcılar için, ayrıcalık olarak ALTER ANY EXTERNAL LANGUAGE belirten bir GRANT ifade kullanarak onlara açıkça izin vermelisiniz.
Examples
Veritabanında harici bir dili değiştirmek
Aşağıdaki örnek, Windows üzerinde SQL Server'da bir veritabanına Java adlı bir dış dil ekler.
ALTER EXTERNAL LANGUAGE Java
SET (CONTENT = N'<path-to-zip>', FILE_NAME = 'javaextension.dll');
GO
Ayrıca bakınız
CREATE EXTERNAL LANGUAGE (Transact-SQL)
DROP EXTERNAL LANGUAGE (Transact-SQL)
sys.external_languages
sys.external_language_files