SQLColAttribute

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnalytics Platform System (PDW)

SQLColAttribute kullanarak hazırlanmış veya çalıştırılmış ODBC ifadeleri için bir sonuç kümesi sütununun bir özniteliğini alabilirsiniz. Hazırlanmış ifadelerde SQLColAttribute çağırılması, SQL Server'a dönüş yol açar. SQL Server Native Client ODBC sürücüsü, ifade yürütme sürecinin bir parçası olarak sonuç kümesi sütun verilerini alır, bu nedenle SQLExecute veya SQLExecDirect tamamlandıktan sonra SQLColAttribute çağrısı sunucu için bir dönüş gerektirmez.

Note

ODBC sütun tanımlayıcı öznitelikleri tüm SQL Server sonuç kümelerinde mevcut değildir.

Alan tanımlayıcısı Description
SQL_COLUMN_TABLE_NAME Sunucu imleci oluşturan ifade iletimlerinden alınan sonuç kümelerinde veya FOR BROWSE maddesi içeren yürütülmüş SELECT ifadelerinde mevcuttur.
SQL_DESC_BASE_COLUMN_NAME Sunucu imleci oluşturan ifade iletimlerinden alınan sonuç kümelerinde veya FOR BROWSE maddesi içeren yürütülmüş SELECT ifadelerinde mevcuttur.
SQL_DESC_BASE_TABLE_NAME Sunucu imleci oluşturan ifade iletimlerinden alınan sonuç kümelerinde veya FOR BROWSE maddesi içeren yürütülmüş SELECT ifadelerinde mevcuttur.
SQL_DESC_CATALOG_NAME (Katalog Adı Tanımlayıcısı) Veritabanı adı. Sunucu imleci oluşturan ifade iletimlerinden alınan sonuç kümelerinde veya FOR BROWSE maddesi içeren yürütülmüş SELECT ifadelerinde mevcuttur.
SQL_DESC_LABEL Tüm sonuç setlerinde mevcut. Değer, SQL_DESC_NAME alanının değeriyle aynıdır.

Alan yalnızca bir sütun bir ifadenin sonucu ise ve ifade etiket ataması içermiyorsa sıfır uzunluktadır.
SQL_DESC_NAME Tüm sonuç setlerinde mevcut. Değer, SQL_DESC_LABEL alanının değeriyle aynıdır.

Alan yalnızca bir sütun bir ifadenin sonucu ise ve ifade etiket ataması içermiyorsa sıfır uzunluktadır.
SQL_DESC_ŞEMA_ADI Sahibinin adı. Sunucu imleci oluşturan ifade iletimlerinden alınan sonuç kümelerinde veya FOR BROWSE maddesi içeren yürütülmüş SELECT ifadelerinde mevcuttur.

Yalnızca SELECT ifadesindeki sütun için sahip adı belirtilmişse kullanılabilir.
SQL_DESC_TABLE_NAME Sunucu imleci oluşturan ifade iletimlerinden alınan sonuç kümelerinde veya FOR BROWSE maddesi içeren yürütülmüş SELECT ifadelerinde mevcuttur.
SQL_DESC_UNNAMED SQL_NAMED, bir sonuç kümesindeki tüm sütunlar için, bir sütun, ifadenin bir parçası olarak etiket ataması içermeyen bir ifadenin sonucu olmadıkça geçerlidir. SQL_DESC_UNNAMED SQL_UNNAMED döndürdüğünde, tüm ODBC sütun tanımlayıcı öznitelikleri sütun için sıfır uzunlukta dizileri içerir.

SQL Server Native Client ODBC sürücüsü, hazırlanmış ancak yürütülmemiş ibadetler için SQLColAttribute çağrıldığında sunucu yükünü azaltmak için bu SET FMTONLY ifadeyi kullanır.

Büyük değer türleri için SQLColAttribute aşağıdaki değerleri döndürecektir:

Alan tanımlayıcısı Değişiklik açıklaması
SQL_DESC_DISPLAY_SIZE Bu, sütundan veri görüntülemek için gereken maksimum karakter sayısıdır. Büyük değer tipi sütunlar için döndürülen değer SQL_SS_LENGTH_UNLIMITED.
SQL_DESC_LENGTH Sonuç kümesindeki sütunun gerçek uzunluğunu döndürür. Büyük değer tipi sütunlar için döndürülen değer SQL_SS_LENGTH_UNLIMITED.
SQL_DESC_OCTET_LENGTH Büyük değer tipi bir sütunun maksimum uzunluğunu döndürür. SQL_SS_LENGTH_UNLIMITED sınırsız boyut anlamına gelir.
SQL_DESC_PRECISION Büyük değer tipi sütunlar için SQL_SS_LENGTH_UNLIMITED değerini döndürür.
SQL_DESC_TYPE Büyük değer türleri için SQL_VARCHAR, SQL_WVARCHAR ve SQL_VARBINARY döndürür.
SQL_DESC_TYPE_NAME Büyük değer türleri için "varchar", "varbinary", "nvarchar" döndürür.

Tüm sürümler için, sütun öznitelikleri yalnızca hazırlanmış bir SQL ifadesi grupuyla birden fazla sonuç seti oluşturulduğunda raporlanır.

Aşağıdaki sütun öznitelikleri, SQL Server Native Client ODBC sürücüsü tarafından ortaya çıkarılan uzantılardır. SQL Server Native Client ODBC sürücüsü, NumericAttrPtr parametresindeki tüm değerleri döndürür. Değerler SDWORD (uzun işaretli işare) olarak döner, ancak SQL_CA_SS_COMPUTE_BYLIST bir WORD dizisine işaret eder.

Alan tanımlayıcısı Döndürülen değer
SQL_CA_SS_COLUMN_HIDDEN* Referans verilen sütun, FOR BROWSE içeren Transact-SQL SELECT i'lemesini desteklemek için oluşturulmuş gizli bir birincil anahtarın parçasıysa TRUE.
SQL_CA_SS_COLUMN_ID Mevcut Transact-SQL SELECT ifadesi içindeki COMPUTE cümlesi sonuç sütununun sıralı konumu.
SQL_CA_SS_COLUMN_KEY* Eğer referans verilen sütun satır için birincil anahtarın parçasa ve Transact-SQL SELECT ifadesi FOR BROWSE içeriyorsa, TRUE.
SQL_CA_SS_COLUMN_OP Bir COMPUTE cümlesi sütunundaki değerden sorumlu toplu operatörü belirten tamsayı ile belirtilir. Tam sayı değerlerin tanımları sqlncli.h içinde bulunmaktadır.
SQL_CA_SS_COLUMN_ORDER Sütunun ODBC içindeki sıralı konumu veya Transact-SQL SELECT i'nin ORDER BY cümlesi.
SQL_CA_SS_COLUMN_SIZE Sütundan alınan bir veri değerini SQL_C_BINARY değişkene bağlamak için bayt cinsinden maksimum uzunluk.
SQL_CA_SS_COLUMN_SSTYPE SQL Server sütununda depolanan yerel veri türü. Tip değerlerinin tanımları sqlncli.h içinde bulunmaktadır.
SQL_CA_SS_COLUMN_UTYPE SQL Server sütununun kullanıcı tanımlı veri tipinin temel veri tipi. Tip değerlerinin tanımları sqlncli.h içinde bulunmaktadır.
SQL_CA_SS_COLUMN_VARYLEN Sütunun verisi uzunluk açısından değişebiliyorsa DOĞRU, aksi takdirde YANLI.
SQL_CA_SS_COMPUTE_BYLIST COMPUTE cümlesinin BY ifadesinde kullanılan sütunları belirten bir WORD (işaretsiz kısa) dizisine işaret et. Eğer COMPUTE cümlesi bir BY cümlesi belirtmiyorsa, bir NULL işaretçisi döner.

Dizinin ilk elemanı, BY liste sütunlarının sayısını içerir. Ek elemanlar sütun ordinalleridir.
SQL_CA_SS_COMPUTE_ID mevcut Transact-SQL SELECT ifadesindeki bir COMPUTE maddesinin sonucu olan bir satırın hesaplanması.
SQL_CA_SS_NUM_COMPUTES Mevcut Transact-SQL SELECT ifadesinde belirtilen COMPUTE cümlelerinin sayısı.
SQL_CA_SS_NUM_ORDERS ODBC veya SELECT ifadesinin ORDER BY maddesinde belirtilen sütun sayısıTransact-SQL.

* Eğer ifade özetliği SQL_SOPT_SS_HIDDEN_COLUMNS SQL_HC_ON olarak ayarlanmışsa kullanılabilir.

SQL Server 2005 (9.x), XML şema koleksiyonu adı, şema adı ve katalog adını belirtmek için ek bilgi sağlamak amacıyla sürücüye özgü tanımlayıcı alanları tanıttı. Bu özellikler, alfanumerik olmayan karakterler içeriyorsa tırnak işareti veya kaçış karakteri gerektirmez. Aşağıdaki tablo bu yeni tanımlayıcı alanları listeler:

Sütun adı Türü Description
SQL_CA_SS_XML_SCHEMACOLLECTION_CATALOG_NAME CharacterAttributePtr XML şema koleksiyonu adının tanımlandığı kataloğun adı. Katalog adı bulunamazsa, bu değişken boş bir dizi içerir.

Bu bilgiler, IRD'nin SQL_DESC_SS_XML_SCHEMACOLLECTION_CATALOG_NAME kayıt alanından döner; bu alan okuma-yazma alanıdır.
SQL_CA_SS_XML_SCHEMACOLLECTION_SCHEMA_NAM E CharacterAttributePtr XML şema koleksiyonu adının tanımlandığı şemanın adı. Şema adı bulunamazsa, bu değişken boş bir dizi içerir.

Bu bilgi, IRD'nin SQL_DESC_SS_XML_SCHEMACOLLECTION_SCHEMA_NAME kayıt alanından geri döner; bu alan, okuma-yazma alanıdır.
SQL_CA_SS_XML_SCHEMACOLLECTION_NAME CharacterAttributePtr Bir XML şema koleksiyonunun adı. İsim bulunamazsa, bu değişken boş bir dizi içerir.

Bu bilgiler, IRD'nin SQL_DESC_SS_XML_SCHEMACOLLECTION_NAME kayıt alanından geri döner; bu da okuma-yazma alanıdır.

Ayrıca, SQL Server 2005 (9.x), kullanıcı tanımlı tip (UDT) sütunu veya depolanmış prosedür veya parametreli sorgu için ek bilgi sağlamak amacıyla yeni sürücüye özgü tanımlayıcı alanları tanıttı. Bu özellikler, alfanumerik olmayan karakterler içeriyorsa tırnak işareti veya kaçış karakteri gerektirmez. Aşağıdaki tablo bu yeni tanımlayıcı alanları listeler:

Sütun Adı Türü Description
SQL_CA_SS_UDT_CATALOG_NAME CharacterAttributePtr UDT'yi içeren kataloğun adı.
SQL_CA_SS_UDT_SCHEMA_NAME CharacterAttributePtr UDT'yi içeren şemanın adı.
SQL_CA_SS_UDT_TYPE_NAME CharacterAttributePtr UDT'nin adı.
SQL_CA_SS_UDT_ASSEMBLY_TYPE_NAME CharacterAttributePtr Meclis, UDT'nin adını kabul etti.

Mevcut tanımlayıcı alanı tanımlayıcısı SQL_DESC_TYPE_NAME UDT'nin adını belirtmek için kullanılır. UDT tipi bir sütun için SQL_DESC_TYPE alanı SQL_SS_UDT.

Geliştirilmiş Tarih ve Saat Özellikleri için SQLColAttribute Desteği

Tarih/saat türleri için geri dönen değerler için, Parametre ve Sonuç Metadata'daki "IRD Alanlarında Geri Dönen Bilgiler" bölümüne bakınız.

Daha fazla bilgi için Tarih ve Saat İyileştirmeleri (ODBC) bölümüne bakınız.

Büyük CLR UDT'ler için SQLColAttribute Desteği

SQLColAttribute , büyük CLR kullanıcı tanımlı türleri (UDT'leri) destekler. Daha fazla bilgi için Büyük CLR User-Defined Türleri (ODBC) bölümünü inceleyebilirsiniz.

SQLColAttribute Support for Sparse Columns

SQLColAttribute, yeni uygulama satır tanımlayıcı (IRD) alanı SQL_CA_SS_IS_COLUMN_SET'yi sorgulayarak bir sütunun column_set sütunu olup olmadığını belirler.

Daha fazla bilgi için Sparse Columns Support (ODBC) bölümüne bakınız.

Ayrıca Bkz.

SQLColAttribute Fonksiyonu
ODBC API Uygulama Ayrıntıları
SQLSetStmtAttr