sp_OAGetErrorInfo (Transact-sql)
ole Otomasyon hatası bilgileri alır.
Transact-SQL Sözdizim Kuralları
Sözdizimi
sp_OAGetErrorInfo [ objecttoken ]
[ , source OUTPUT ]
[ , description OUTPUT ]
[ , helpfile OUTPUT ]
[ , helpid OUTPUT ]
Bağımsız değişkenler
objecttoken
Kullanarak daha önce oluşturulan bir ole nesnesi nesne belirteci iş sp_OACreate veya null olur. Eğer objecttokenolduğu belirtilen hata bilgileri bu nesne döndürdü. null belirtilirse, tüm toplu hata bilgileri döndürülür.sourceÇIKIŞ
Hata bilgisi kaynağıdır. Belirtilirse, yerel bir olmalıdır char, nchar, varchar, ya nvarchardeğişkeni. Dönüş değeri yerel değişken gerekiyorsa sığacak şekilde kırpılır.descriptionÇIKIŞ
Hata açıklamasıdır. Belirtilirse, yerel bir olmalıdır char, nchar, varchar, veya nvarchar değişkeni. Dönüş değeri yerel değişken gerekiyorsa sığacak şekilde kırpılır.helpfileÇIKIŞ
ole nesnesini Yardım dosyasıdır. Belirtilirse, yerel bir olmalıdır char, nchar, varchar, ya nvarchardeğişkeni. Dönüş değeri yerel değişken gerekiyorsa sığacak şekilde kırpılır.helpidÇIKIŞ
Yardım dosyasının bağlam kimliği. Belirtilirse, yerel bir olmalıdır intdeğişkeni.[!NOT]
Bu saklı yordam parametreleri konuma göre değil adı belirtilmedi.
Dönüş Kodu Değerleri
0 (başarılı) veya sıfır olmayan bir sayı (hata) ole Otomasyon nesne tarafından döndürülen hresult tamsayı değeridir.
hresult yanıt kodları hakkında daha fazla bilgi için bkz: ole Otomasyon dönüş kodları ve hata bilgileri.
Sonuç Kümeleri
Hiçbir çıktı parametresi belirtilmişse, hata bilgilerini istemciye sonuç olarak kümesi döndürülür.
Sütun adları |
Veri türü |
Açıklama |
---|---|---|
Hata |
binary(4) |
Hata numarasını ikili gösterimi. |
Kaynak |
nvarchar(nn) |
Hata kaynağı. |
Açıklama |
nvarchar(nn) |
Hata açıklaması. |
HelpFile |
nvarchar(nn) |
Yardım dosyası kaynağı. |
HelpID |
int |
Yardım Yardım kaynak dosya bağlam kimliği. |
Açıklamalar
Her arama için bir ole Otomasyon depolanmış yordam (dışında sp_OAGetErrorInfo); hata bilgilerini sıfırlar Bu nedenle, sp_OAGetErrorInfo sadece en son saklanan Otomasyonu yordam çağrısı hata bilgilerini alır. Çünkü dikkat sp_OAGetErrorInfo hata bilgileri sıfırlamaz birden çok kez aynı hata bilgilerini almak için çağrılabilir.
Aşağıdaki tabloda, ole Otomasyonu hatalar ve bunların yaygın nedenleri listeler.
Hata ve hresult |
Yaygın nedeni |
---|---|
Bozuk değişken türü (0x80020008) |
Veri türü bir Transact-SQLdeğeri geçti bir yöntem parametre eşleşmiyor gibi Microsoft Visual Basicyöntemi parametre veya null değeri veri türünü yöntemi parametre olarak geçirilen. |
Bilinmeyen ad (0x8002006) |
Belirtilen nesne için belirtilen özellik veya yöntem adı bulunamadı. |
Geçersiz sınıf dizesi (0x800401f3) |
ProgID veya CLSID kayıtlı değil bir ole nesnesi örneği olarak belirtilen SQL Server. Özel ole otomasyon sunucuları gerekir kayıtlı olması onlar kullanma örneği önce sp_OACreate. Bu işlem içi (.dll) sunucuları için Regsvr32.exe yardımcı programını kullanarak yapılabilir ya da /REGSERVERkomut satırı anahtarı yerel (.exe) sunucuları için. |
Sunucunun yürütme işlemi başarısız oldu (0x80080005) |
Belirtilen ole nesnesi bir yerel ole sunucusu (.exe dosyası) olarak kaydedilir ancak .exe dosyası bulundu başladı ya. |
(0X8007007e) belirtilen modül bulunamadı |
Belirtilen ole nesnesi bir İşlemdeki ole sunucusu (.dll dosyası) kaydedilir, ancak .dll dosyası bulunamadı veya yüklenemedi değil. |
Tür uyuşmazlığı (0x80020005) |
Veri türü bir Transact-SQLdöndürülen özellik değerini veya yöntemi dönüş değeri saklamak için kullanılan yerel bir değişken uyuşmuyor Visual Basicveri türü özelliği veya yöntemi dönüş değeri. Ya da dönüş değeri bir özelliği veya yöntemi istendi, ancak bir değer döndürmez. |
Veri türü veya değeri 'içerik' sp_OACreate parametresi geçersiz. (0x8004275B) |
Context parametresinin değerini biri olmalıdır: 1, 4 ya da 5. |
hresult yanıt kodları işleme hakkında daha fazla bilgi için bkz: ole Otomasyon dönüş kodları ve hata bilgileri.
İzinler
Üyelik sysadmin sunucu rolü.
Örnekler
Aşağıdaki örnek, Otomasyonu hata bilgilerini görüntüler.
DECLARE @output varchar(255)
DECLARE @hr int
DECLARE @source varchar(255)
DECLARE @description varchar(255)
PRINT 'OLE Automation Error Information'
EXEC @hr = sp_OAGetErrorInfo @object, @source OUT, @description OUT
IF @hr = 0
BEGIN
SELECT @output = ' Source: ' + @source
PRINT @output
SELECT @output = ' Description: ' + @description
PRINT @output
END
ELSE
BEGIN
PRINT ' sp_OAGetErrorInfo failed.'
RETURN
END
DECLARE @output varchar(255)
DECLARE @hr int
DECLARE @source varchar(255)
DECLARE @description varchar(255)
PRINT 'OLE Automation Error Information'
EXEC @hr = sp_OAGetErrorInfo @object, @source OUT, @description OUT
IF @hr = 0
BEGIN
SELECT @output = ' Source: ' + @source
PRINT @output
SELECT @output = ' Description: ' + @description
PRINT @output
END
ELSE
BEGIN
PRINT ' sp_OAGetErrorInfo failed.'
RETURN
END