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
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analitik Platform Sistemi (PDW)
Microsoft Fabric'te SQL veritabanı
OLE DB sürücüsünü indirme
Tüketiciler tablo değerli parametreler için herhangi bir satır kümesi nesnesi sağlayabilse de, tipik sıra kümesi nesneleri arka uç veri depolarına karşı uygulanır ve bu nedenle sınırlı performans sağlar. Bu nedenle, SQL Server için OLE DB Sürücüsü, tüketicilerin bellek içi verilerin üzerinde özel bir sıra kümesi nesnesi oluşturmasını sağlar. Bu özel, bellek içindeki sıra kümesi nesnesi, tablo değerli parametre sırası olarak adlandırılan yeni bir COM nesnedir. Parametre kümelerine benzer işlevsellik sağlar.
Tablo değerli parametre sırası nesneleri, tüketici tarafından birden fazla oturum düzeyindeki arayüzler aracılığıyla giriş parametreleri için açıkça oluşturulur. Her tablo değerli parametre için bir tablo değerli parametre sırası nesnesinin bir örneği vardır. Tüketici, tablo değerli parametre satır kümesi nesnelerini ya zaten bilinen meta veri bilgisi sağlayarak (statik senaryo) ya da sağlayıcı arayüzleri aracılığıyla keşfederek (dinamik senaryo) oluşturabilir. Aşağıdaki bölümler bu iki senaryoyu açıklamaktadır.
Statik Senaryo
Tür bilgisi bilindiğinde, tüketici ITableDefinitionWithConstraints::CreateTableWithConstraints kullanarak tablo değerli bir parametre satır kümesi nesnesini örnekleyerek tablo değerli bir parametre satırı nesnesini oluşturur.
Guid alanı (pTableID parametresi) özel GUID (CLSID_ROWSET_TVP) içerir. pwszName üyesi, tüketicinin örneklemek istediği tablo değerli parametre türünün adını içerir. eKind alanı DBKIND_GUID_NAME olarak ayarlanacak. Bu isim, ifade ad hoc SQL olduğunda gereklidir; İsim isteğe bağlıdır, eğer bir prosedür çağrısıydı.
Toplama için, tüketici pUnkOuter parametresini kontrol eden IUnknown ile birlikte geçirir.
Tablo değerli parametre satırküme nesne özellikleri yalnızca okunabilir, bu yüzden tüketicinin rgPropertySets'te herhangi bir özellik belirlemesi beklenmez.
Her DBCOLUMNDESC yapısının rgPropertySets üyesi için, tüketici her sütun için ek özellikler belirleyebilir. Bu özellikler DBPROPSET_SQLSERVERCOLUMN özellik kümesine aittir. Her sütun için hesaplanan ve varsayılan ayarları belirlemenizi sağlarlar. Ayrıca nullability ve identity gibi mevcut sütun özelliklerini desteklerler.
Tablo değerli parametre satırı nesnesinden ilgili bilgileri almak için tüketici IRowsetInfo::GetProperties kullanır.
Her sütunun null, unique, hesaplanmış ve güncelleme durumu hakkında bilgi almak için tüketici IColumnsRowset::GetColumnsRowset veya IColumnsInfo::GetColumnInfo bilgilerini kullanabilir. Bu yöntemler, her tablo değerli parametre satır kümesi sütunu hakkında ayrıntılı bilgi sağlar.
Tüketici, tablo değerli parametrenin her sütununun türünü belirler. SQL Server'da bir tablo oluşturulduğunda sütunların nasıl tanımlandığına benzer. Tüketici, ppRowset çıkış parametresi aracılığıyla SQL Server için OLE DB Sürücüsünden tablo değerinde bir parametre sırası nesnesi elde eder.
Dinamik Senaryo
Tüketicinin tür bilgisi olmadığında, tablo değerli parametre sırası nesnelerini örneklemek için IOpenRowset::OpenRowset kullanmalıdır. Tüketicinin sağlayıcıya vermesi gereken tek şey tip adıdır.
Bu durumda, sağlayıcı kullanıcı adına sunucudan tablo değerli bir parametre satırkümesi nesnesi hakkında tür bilgisi elde eder.
pTableID ve pUnkOuter parametreleri statik senaryodaki gibi ayarlanmalıdır. SQL Server için OLE DB Sürücüsü, sunucudan tür bilgilerini (sütun bilgisi ve kısıtlamaları) alır ve ppRowset parametresi aracılığıyla tablo değerli bir parametre satırı nesnesi döndürür. Bu işlem sunucuyla iletişim gerektirir ve bu nedenle statik senaryo kadar iyi performans göstermez. Dinamik senaryo yalnızca parametrizlenmiş prosedür çağrılarıyla çalışır.
Ayrıca Bkz.
Table-Valued Parametreleri (OLE DB)
Table-Valued Parametrelerini Kullan (OLE DB)