Belirtiler
SQL Server için odbc sürücüsü aracılığıyla bağlı sunucuda çıkış parametreleriyle uzak saklı yordam çalıştırırsanız, ODBC sürücüsü çıkış parametresini alamaz ve aşağıdaki hata iletisini alabilirsiniz:
[Microsoft] [ODBC SQL Server Sürücüsü]Kısıtlanmış veri türü öznitelik ihlali
Çözüm
Desteklenen bir düzeltme Microsoft tarafından sağlanır. Ancak, bu düzeltme yalnızca bu makalede açıklanan sorunu düzeltmeye yöneliktir. Bu düzeltmeyi yalnızca bu sorunla karşılaşan sistemlere uygulayın. Bu düzeltme ek test alabilir. Bu nedenle, bu sorundan ciddi bir şekilde etkilenmezseniz, bu düzeltmeyi içeren bir sonraki yazılım güncelleştirmesini beklemenizi öneririz.
Düzeltme indirilebilir durumdaysa, bu Bilgi Bankası makalesinin üst kısmında bir "Düzeltme indirme kullanılabilir" bölümü vardır. Bu bölüm görünmüyorsa, düzeltmeyi edinmek için Microsoft Müşteri Hizmetleri ve Desteği'ne başvurun.
Not Ek sorunlar oluşursa veya herhangi bir sorun giderme gerekiyorsa, ayrı bir hizmet isteği oluşturmanız gerekebilir. Bu düzeltme için uygun olmayan ek destek soruları ve sorunları için normal destek maliyetleri uygulanır. Microsoft Müşteri Hizmetleri ve Destek telefon numaralarının tam listesi için veya ayrı bir hizmet isteği oluşturmak için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/contactus/?ws=supportNot "Düzeltme indirme kullanılabilir" formu, düzeltmenin kullanılabildiği dilleri görüntüler. Dilinizi görmüyorsanız, bunun nedeni bu dil için bir düzeltmenin kullanılamamasıdır.
' Bu düzeltmenin İngilizce sürümü, aşağıdaki tabloda listelenen dosya özniteliklerine (veya üstü) sahiptir. Bu dosyaların tarih ve saatleri eşgüdümlü evrensel saat (UTC) olarak listelenir. Dosya bilgilerini görüntülediğinizde yerel saate dönüştürülür. UTC ile yerel saat arasındaki farkı bulmak için Denetim Masası'ndaki Tarih ve Saat aracında Saat Dilimi sekmesini kullanın.
MDAC 2.7 Service Pack 1
Date Time Version Size File name
----------------------------------------------------------
12-Nov-2002 02:42 2000.81.9031.12 24,576 Odbcbcp.dll
12-Nov-2002 02:41 2000.81.9031.12 385,024 Sqlsrv32.dll
MDAC 2.8
Date Time Version Size File name
---------------------------------------------------------
15-Jun-2004 00:22 2000.85.1045.0 28,672 Dbnmpntw.dll
15-Jun-2004 00:21 2.80.1045.0 147,456 Msadds.dll
15-Jun-2004 00:21 2.80.1045.0 512,000 Msado15.dll
15-Jun-2004 00:21 2.80.1045.0 163,840 Msadomd.dll
15-Jun-2004 00:21 2.80.1045.0 184,320 Msadox.dll
15-Jun-2004 00:21 2.80.1045.0 53,248 Msadrh15.dll
15-Jun-2004 00:21 2.80.1045.0 225,280 Msdaora.dll
15-Jun-2004 00:21 2.80.1045.0 147,456 Msdart.dll
15-Jun-2004 00:21 2.575.1045.0 139,264 Msorcl32.dll
15-Jun-2004 00:21 3.525.1045.0 221,184 Odbc32.dll
15-Jun-2004 00:22 2000.85.1045.0 24,576 Odbcbcp.dll
15-Jun-2004 00:21 2.80.1045.0 442,368 Oledb32.dll
15-Jun-2004 00:21 2000.85.1045.0 503,808 Sqloledb.dll
15-Jun-2004 00:21 2000.85.1045.0 401,408 Sqlsrv32.dll
15-Jun-2004 00:08 2000.85.1045.0 208,896 Sqlxmlx.dll
Not MDAC 2.8 için kullanılabilen tüm düzeltmelerin listesi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
839801 DÜZELTME: MDAC 2.8 için düzeltmeler kullanılabilir
Durum
Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.
Ek Bilgi
Davranışı yeniden oluşturma adımları
-
Bağlı sunucuda çıkış parametreleriyle SQL Server saklı yordamı oluşturmak için aşağıdaki kodu kullanın:
USE pubs GO CREATE PROCEDURE dbo.sample_stored_procedure @op varchar(20) output AS set @op = 'demo string' return 0 GO
Not Saklı yordam bir sonuç kümesi döndürürse "Belirtiler" bölümünde listelenen hata iletisini almazsınız.
-
Aşağıdaki Microsoft Visual Basic uygulama örnek kodu, bağlı bir sunucuda uzak saklı yordama erişir. Aşağıdaki kod örneğinde srv1 ve
srv2, SQL Server çalıştıran iki sunucu olup srv1 üzerinde bağlı sunucu olarak srv2 oluşturuyorsunuz.Dim cn As new ADODB.Connection Dim cmd As new ADODB.Command Dim prm As ADODB.Parameter cn.Open "Driver={SQL Server};Server=srv1;UID=sa;PWD=sa_password;" cmd.ActiveConnection = cn cmd.CommandType = adCmdStoredProc cmd.CommandText = "srv2.pubs.dbo.sample_stored_procedure" Set prm = cmd.CreateParameter("op", adVarChar, adParamOutput, 20) cmd.Parameters.Append prm cmd.Execute Debug.Print prm.Value cn.Close Set cn = Nothing