sp_OAGetErrorInfo (Transact-SQL)
ole Otomasyon hatası bilgileri alır.
Sözdizimi
sp_OAGetErrorInfo [ objecttoken ]
[ , source OUTPUT ]
[ , description OUTPUT ]
[ , helpfile OUTPUT ]
[ , helpid OUTPUT ]
Bağımsız değişkenler
objecttoken
Birini kullanarak daha önce oluşturulan bir ole nesnesi nesne belirteci sp_OACreate veya null olur.objecttoken Olduğu belirtilen, o nesne için hata bilgileri döndürülür.null belirtilirse, tüm toplu iş için hata bilgileri döndürülür.sourceÇIKIŞ
Hata bilgisi kaynak olur.Belirtilen, yerel olmalıdır char, nchar, varchar, veya nvarchar değişkeni.Dönen değer uyma kesilir gerekirse, yerel değişken.descriptionÇIKIŞ
Hata açıklamasıdır.Belirtilen, yerel olmalıdır char, nchar, varchar, veya nvarchar değişkeni.Dönen değer uyma kesilir gerekirse, yerel değişken.helpfileÇIKIŞ
ole nesnesi için Yardım dosyasıdır.Belirtilen, yerel olmalıdır char, nchar, varchar, veya nvarchar değişkeni.Dönen değer uyma kesilir gerekirse, yerel değişken.helpidÇIKIŞ
Yardım dosyası içeriğini kimliğidir.Belirtilen, yerel olmalıdır int değişkeni.Not
Bu saklı yordam parametreleri konuma göre değil adı belirtilmedi.
Dönüş Kodu Değerleri
0 (başarılı) veya ole Otomasyon nesne tarafından döndürülen hresult tamsayı değeri sıfır olmayan bir sayı (hata).
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 belirtilirse, hata bilgilerini istemci bir sonuç kümesiolarak geri döner.
Sütun adları |
Veri türü |
Açıklama |
---|---|---|
Hata |
binary(4) |
Hata numarasını ikili gösterimi. |
Source |
nvarchar(nn) |
Hata kaynağı. |
Açıklama |
nvarchar(nn) |
Hata açıklaması. |
HelpFile |
nvarchar(nn) |
' % S'kaynağının kaynakdosyası yardımcı. |
HelpID |
int |
Yardım Yardım kaynak dosyadaki bağlam kimliği. |
Açıklamalar
Her ole Otomasyonu saklı yordam çağrısına (dışında sp_OAGetErrorInfo); hata bilgilerini sıfırlar Bu nedenle, sp_OAGetErrorInfo en son ole Otomasyonu saklı yordam çağrısı için yalnızca hata bilgilerini alır.Çünkü dikkat sp_OAGetErrorInfo hata bilgileri sıfırlanmaz birden çok kez, aynı hata bilgilerini almak için çağrılabilir.
Aşağıdaki tablo , ole Otomasyonu hatalar ve bunların yaygın nedenleri listeler.
Hata ve hresult |
Sık karşılaşılan nedeni |
---|---|
Bozuk değişken türü (0x80020008) |
Veri türü bir Transact-SQL değeri geçirilen bir yöntem parametresi eşleşmedi gibi Microsoft Visual Basic yöntem parametre veya null değeri veri türünü geçirilen bir yöntem parametresi. |
Bilinmeyen ad (0x8002006) |
Belirtilen nesne için belirtilen özellik veya yöntem adı bulunamadı. |
Geçersiz sınıf dize (0x800401f3) |
ProgID veya CLSID kayıtlı değil, örnek bir ole nesne olarak belirtilen SQL Server.Özel ole otomasyon sunucuları gerekir kayıtlı kullanıcılar örneklenebilir önce sp_OACreate.Bu işlem içi (.dll) sunucuları için Regsvr32.exe yardımcı programını kullanarak yapılabilir veya /regserver yerel (.exe) sunucuları için komut satırı anahtarı. |
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şlatıldı veya açılamadı. |
(0X8007007e) belirtilen modül bulunamadı |
Belirtilen ole nesnesi bir iş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-SQL döndürülen özellik değerini veya yöntem dönüş değeri saklamak için kullanılan yerel bir değişken eşleşmedi Visual Basic veri türü özellik veya yöntem dönüş değeri.Veya dönüş değeri bir özellik veya yöntem 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ğeri aşağıdakilerden biri olmalıdır: 1, 4 veya 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 gerektiren sysadmin sabit 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