Table-Valued Parametre Tanımlayıcısı Alanları
Tablo değerli parametreler için destek, ODBC uygulama parametre tanımlayıcılarında (APD) ve uygulama parametresi tanımlayıcılarında (IPD) SQL Server'a özgü yeni alanlar içerir.
Açıklamalar
Ad | Yer | Tür | Açıklama |
---|---|---|---|
SQL_CA_SS_TYPE_NAME | IPD | SQLTCHAR* | Tablo değerli parametresinin sunucu türü adı. SQLBindParameter çağrısında tablo değerli parametre türü adı belirtildiğinde, ANSI uygulamaları olarak oluşturulan uygulamalarda bile her zaman Unicode değeri olarak belirtilmelidir. parametre StrLen_or_IndPtr için kullanılan değer SQL_NTS veya adın dize uzunluğunun sizeof(WCHAR) ile çarpılması gerekir. SQLSetDescField aracılığıyla tablo değerli parametre türü adı belirtildiğinde, uygulamanın oluşturulma biçimine uygun bir değişmez değer kullanılarak belirtilebilir. ODBC Sürücü Yöneticisi gerekli Unicode dönüştürme işlemlerini gerçekleştirir. |
SQL_CA_SS_TYPE_CATALOG_NAME (salt okunur) | IPD | SQLTCHAR* | Türün tanımlandığı katalog. |
SQL_CA_SS_TYPE_SCHEMA_NAME | IPD | SQLTCHAR* | Türün tanımlandığı şema. |
Uygulamalar tablo değerli parametreler için SQL_CA_SS_TYPE_CATALOG_NAME ayarlamamalıdır. Bunu yaptığınızda bir SQL_ERROR döndürülür ve SQLSTATE = HY091 ve "Geçersiz tanımlayıcı alan tanımlayıcısı" iletisiyle bir tanılama kaydı günlüğe kaydedilir.
Aşağıdaki deyim öznitelikleri ve tanımlayıcı üst bilgi alanları, parametre odağı tablo değerli bir parametreye ayarlandığında tablo değerli parametrelere uygulanır:
Ad | Yer | Tür | Açıklama |
---|---|---|---|
SQL_ATTR_PARAMSET_SIZE (Bu, APD'deki SQL_DESC_ARRAY_SIZE eşdeğerdir.) |
APD | SQLUINTEGER | Tablo değerli bir parametre için arabellek dizilerinin dizi boyutu. Bu, arabelleklerin barındıracağı en fazla satır sayısı veya arabelleklerin satırlardaki boyutudur; tablo değerli parametre değerinin kendisi arabelleklerin tutabileceğinden daha fazla veya daha az satıra sahip olabilir. Varsayılan değer 1'dir. Not: SQL_SOPT_SS_PARAM_FOCUS varsayılan değeri 0 olarak ayarlanırsa, SQL_ATTR_PARAMSET_SIZE deyimine başvurur ve parametre kümesi sayısını belirtir. SQL_SOPT_SS_PARAM_FOCUS tablo değerli bir parametrenin sıralı değerine ayarlanırsa, tablo değerli parametreye başvurur ve tablo değerli parametre için ayarlanan parametre başına satır sayısını belirtir. |
SQL_ATTR_PARAM _BIND_TYPE | APD | SQLINTEGER | Varsayılan değer SQL_PARAM_BIND_BY_COLUMN. Satır başına bağlamayı seçmek için, bu alan yapının uzunluğuna veya tablo değerli parametre satırları kümesine bağlanacak bir arabellek örneğine ayarlanır. Bu uzunluk, tüm ilişkili sütunlar için alan ve yapı veya arabelleğin doldurmasını içermelidir. Bu, ilişkili sütunun adresi belirtilen uzunlukta artırıldığında sonucun bir sonraki satırda aynı sütunun başlangıcına işaret etmesini sağlar. ANSI C'de işlecinin |
SQL_ATTR_PARAM_BIND_OFFSET_PTR | APD | SQLINTEGER* | Varsayılan değer null işaretçidir. Bu alan null değilse, sürücü işaretçiyi başvurur, tanımlayıcı kaydındaki ertelenmiş alanların her birine başvurulmamış değeri ekler (SQL_DESC_DATA_PTR, SQL_DESC_INDICATOR_PTR ve SQL_DESC_OCTET_LENGTH_PTR) ve veri değerlerine erişmek için yeni işaretçi değerlerini kullanır. |
Bu alanlar yalnızca tablo değerli parametrelerle geçerlidir ve diğer veri türleri için yoksayılır.
SQL_CA_SS_TYPE_NAME saklı yordam çağrıları için isteğe bağlıdır. Sunucunun tablo değerli parametrenin türünü belirlemesini sağlamak için yordam çağrıları olmayan SQL deyimleri için belirtilmelidir.
Tür adı gerekliyse ve tablo değerli parametrenin tablo türü saklı yordamdan farklı bir şemada tanımlanıyorsa, uygulama parametresi tanımlayıcısında (IPD) SQL_CA_SS_TYPE_SCHEMA_NAME belirtilmelidir. Aksi takdirde, sunucu tablo değerli parametrenin türünü belirleyemez. SQLExecute veya SQLExecDirect'i çağırdığınızda bu hataya neden olur. Hatada SQLSTATE= 07006 ve "Kısıtlı veri türü öznitelik ihlali" iletisi yer alır.
Tablo değerli parametre sütunları satır veya sütun açısından bağlama kullanabilir. Varsayılan değer sütuna göre bağlamadır. Satır başına bağlama, SQL_ATTR_PARAM_BIND_TYPE ve SQL_ATTR_ PARAM_BIND_OFFSET_PTR ayarlanarak belirtilebilir. Bu, sütunların ve parametrelerin satır başına bağlanmasına benzer.
SQL_CA_SS_TYPE_CATALOG_NAME ve SQL_CA_SS_TYPE_SCHEMA_NAME, CLR kullanıcı tanımlı tür parametreleriyle ilişkili kataloğu ve şemayı almak için de kullanılabilir. Bunlar, bu türler için var olan türe özgü katalog şeması özniteliklerine alternatiftir.