srv_convert (genişletilmiş saklı yordam API)
Important Note: |
|---|
This feature will be removed in a future version of Microsoft SQL Server. Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible. CLR entegrasyonu kullanın. |
Verileri bir veri türünden diğerine değiştirir.
int srv_convert (
SRV_PROC *
srvproc
,
int
srctype
,
void *
src
,
DBINT
srclen
,
int
desttype
,
void *
dest
,
DBINT
destlen
);
Bağımsız değişkenler
srvproc
Belirli bir istemci bağlantısı için tanıtıcı SRV_PROC yapı işaretçisini belirtilir.Yapı, iletişim ve uygulama ve istemci arasında verileri yönetmek için genişletilmiş saklı yordam API kullanan tüm denetim bilgileri içerir.,srvproctanıtıcı sağlanan, bir hata oluştuğunda genişletilmiş saklı yordam API hata işleyicisi işlevine iletilir.srctype
Verileri dönüştürmek için veri türünü belirtir.Bu parametre Store Procedure API genişletilmiş veri türü olabilir.src
Verileri dönüştürmek için bir işaretçi belirtilir.Bu parametre Store Procedure API genişletilmiş veri türü olabilir.srclen
Dönüştürülecek verinin bayt cinsinden belirtir.Ifsrclen0'da,srv_convert Hedef değişken. null değeri yerleştirir Bu parametre 0 değilse, sabit uzunluklu veri türleri için; bu durumda kaynak verileri null olduğu kabul edilir yoksayılır.SRVCHAR veri türünde veriler için bir uzunluk-1 biten dize gösterir.desttype
Veri kaynağına dönüştürmek için veri türünü belirtir.Bu parametre Store Procedure API genişletilmiş veri türü olabilir.dest
Dönüştürülen veri hedef değişken için bir işaretçi belirtilir.İşaretçi NULL, isesrv_convert varsa, kullanıcı tarafından sağlanan hata işleyiciyi çağırır ve -1 değerini döndürür.IfdesttypeSRVDECIMAL veya SRVNUMERIC,destparametre bir işaretçi duyarlılık DBNUMERIC veya DBDECIMAL bir yapıda olmalı ve ölçekleme alanı yapısını önceden ayarlamak istediğiniz değerler.Varsayılan duyarlık ve ölçeği varsayılan olarak belirlemek için DEFAULTSCALE belirtmek için DEFAULTPRECISION kullanabilirsiniz.
destlen
Uzunluğu, hedef değişken bayt cinsinden belirtir.Sabit uzunluklu veri türleri için bu parametre dikkate alınmaz.Hedef türünde bir değişken SRVCHAR, değeri içindestlenhedef arabellek alanı. toplam uzunluğu olmalıdır.Yeterli alan yok-1'türü SRVCHAR veya SRVBINARY hedef değişken için bir uzunluk belirtir.Bir hedef değişken türüsrvchar, -1 uzunluğu karakter dizesinin null sonlandırılmış olacak neden olur.
Verir
Veri türü dönüştürme, dönüştürülen verilerin, bayt cinsinden uzunluğunu başarılı olur.Zamansrv_convert karşılaştığında bunu desteklemeyen bir dönüştürme için bir istek, bir genel hata numarasını ayarlar ve -1 değerini döndürür, geliştirici tarafından sağlanan hata işleyicisi arar.
Remarks
The srv_willconvert function determines whether a particular conversion is allowed.
SRVFLT4 veya SRVFLT8 yaklaşık sayısal veri türleri için dönüştürme bazı hassasiyet kaybıyla sonuçlanabilir.Yaklaşık sayısal veri türlerinden SRVFLT4 veya SRVFLT8 SRVCHAR veya SRVTEXT dönüştürmek bazı hassasiyet kaybıyla sonuçlanabilir.
SRVFLT için dönüştürmexHedef. en küçük değerden daha küçük bir sayı ise , SRVINT x , SRVMONEY, SRVMONEY4, SRVDECIMAL veya SRVNUMERIC hedef en büyük değerinden daha büyük bir sayı ise taşma veya Yetersizlik durumu oluşabilir Taşma SRVCHAR veya SRVTEXT için dönüştürme sırasında oluşursa, hatayı belirtmek için yıldız işareti (*) sonuç değerin ilk karakterini içerir.
Dönüştürme için SRVBINARY, SRVCHARsrv_convert yorumlar SRVCHAR onaltılı, olup olmadığını dize önüne 0 içerir.Dönüştürme için SRVCHAR, SRVBINARYsrv_convert oluşturur, önüne 0 olmadan onaltılık dize.Tüm diğer durumlarda, dönüştürme ya da SRVBINARY veri türünden bir düz bit-kopyasıdır.
Belirli durumlarda, kendisi için bir veri türüne dönüştürmek yararlı olabilir.SRVCHAR SRVCHAR ile örneğin dönüştürme birdestlen-1 ekler null bir sonlandırıcı bir dize.
Veri türleri ve depolama yordam API genişletilmiş veri türü dönüştürme tanımı için bkz:Veri türleri (genişletilmiş saklı yordam API).
The srv_convert function can fail for several reasons:
İstenen dönüşüm kullanılamaz.
Kesme, taşma veya hedef değişkeninde duyarlılık kaybı dönüştürme sonuçlandı.
Bir sayısal veri türü için bir karakter dizesi dönüştürülürken bir sözdizimi hatası oluştu.
Security Note: |
|---|
Genişletilmiş depolanmış yordamların kaynak kodunu derinlemesine gözden geçirmelisiniz ve derlenmiş DLL'leri bir üretim sunucusuna yüklemeden önce onları sınamalısınız.Güvenlik hakkında bilgi için gözden geçirme ve sınama, bu bakınMicrosoft Office 2010 Suite Web sitesi. |
Important Note:
Security Note: