Parametre ve sonucu meta veri
Bu konuda ne uygulama parametresi tanımlayıcısı (IPD) ve uygulama satır tanımlayıcısı (IRD) alanları tarih ve saat veri türleri için döndürülen açıklanmaktadır.
Döndürülen IPD alanlara bilgileri
Aşağıdaki bilgiler IPD alanları verilir:
Parametre türü |
tarih |
saat |
smalldatetime |
datetime |
datetime2 |
datetimeoffset |
---|---|---|---|---|---|---|
SQL_DESC_CASE_SENSITIVE |
SQL_FALSE |
SQL_FALSE |
SQL_FALSE |
SQL_FALSE |
SQL_FALSE |
SQL_FALSE |
SQL_DESC_CONCISE_TYPE |
SQL_TYPE_DATE |
SQL_SS_TIME2 |
SQL_TYPE_TIMESTAMP |
SQL_TYPE_TIMESTAMP |
SQL_TYPE_TIMESTAMP |
SQL_SS_TIMESTAMPOFFSET |
SQL_DESC_DATETIME_INTERVAL_CODE |
SQL_CODE_DATE |
0 |
SQL_CODE_TIMESTAMP |
SQL_CODE_TIMESTAMP |
SQL_CODE_TIMESTAMP |
0 |
SQL_DESC_DATETIME_INTERVAL_PRECISION |
10 |
8,10..16 |
16 |
23 |
19, 21..27 |
26, 28..34 |
SQL_DESC_FIXED_PREC_SCALE |
SQL_FALSE |
SQL_FALSE |
SQL_FALSE |
SQL_FALSE |
SQL_FALSE |
SQL_FALSE |
SQL_DESC_LENGTH |
10 |
8,10..16 |
16 |
23 |
19, 21..27 |
26, 28..34 |
SQL_DESC_OCTET_LENGTH |
6 |
12 |
4 |
8 |
16 |
20 |
SQL_DESC_PRECISION |
0 |
0..7 |
0 |
3 |
0..7 |
0..7 |
SQL_DESC_SCALE |
0 |
0..7 |
0 |
3 |
0..7 |
0..7 |
SQL_DESC_TYPE |
SQL_TYPE_DATE |
SQL_SS_TYPE_TIME2 |
SQL_DATETIME |
SQL_DATETIME |
SQL_DATETIME |
SQL_SS_TIMESTAMPOFFSET |
SQL_DESC_TYPE_NAME |
date |
time |
smalldatetimeIRD, de datetime2 IPD içinde |
datetimeIRD, de datetime2 IPD içinde |
datetime2 |
datetimeoffset |
SQL_CA_SS_VARIANT_TYPE |
SQL_C_TYPE_DATE |
SQL_C_TYPE_BINARY |
SQL_C_TYPE_TIMESTAMP |
SQL_C_TYPE_TIMESTAMP |
SQL_C_TYPE_TIMESTAMP |
SQL_C_TYPE_BINARY |
SQL_CA_SS_VARIANT_SQL_TYPE |
SQL_TYPE_DATE |
SQL_SS_TIME2 |
SQL_TYPE_TIMESTAMP |
SQL_TYPE_TIMESTAMP |
SQL_TYPE_TIMESTAMP |
SQL_SS_TIMESTAMPOFFSET |
SQL_CA_SS_SERVER_TYPE |
Yok |
Yok |
SQL_SS_TYPE_SMALLDATETIME |
SQL_SS_TYPE_DATETIME |
SQL_SS_TYPE_DEFAULT |
Yok |
Bazen değer aralıkları kesintiler vardır vardır.Örneğin, 9, 8, 10..16 eksik.Kesirli duyarlığını sıfırdan büyük olan bir ondalık noktası ekleme durumdur.
datetime2için typename olarak döndürülen smalldatetime ve datetime çünkü sürücüsünü kullanan tüm iletilmesi için ortak bir türü olarak bu SQL_TYPE_TIMESTAMP değerleri için sunucu.
SQL_CA_SS_VARIANT_SQL_TYPE yeni tanımlayıcısı olan alan.Bu alan IRD ve IPD ile ilişkili değer türünü belirtmek uygulamaları etkinleştirmek için eklenmiştir sqlvariant (SQL_SSVARIANT) sütunları ve parametreleri
sql_ca_ss_server_type ise yeni bir salt IPD alan SQL_TYPE_TYPETIMESTAMP (veya SQL_C_TYPE_TIMESTAMP c türü ile SQL_SS_VARIANT gibi) ilişkili parametreleri için değerleri sunucuya nasıl gönderileceğini denetlemek uygulamaları etkinleştirmek için.SQL_DESC_CONCISE_TYPE SQL_TYPE_TIMESTAMP ise (ya da SQL_SS_VARIANT ve c tipi SQL_C_TYPE_TIMESTAMP), SQLExecute veya SQLExecDirect olarak adlandırılır, tablo verisi akışı (tds) türü parametre değeri sql_ca_ss_server_type değeri belirler., aşağıdaki gibi:
sql_ca_ss_server_type değeri |
SQL_DESC_PRECISION için geçerli değerler |
sql_desc_length için geçerli değerler |
tds türü |
---|---|---|---|
SQL_SS_TYPE_DEFAULT |
0..7 |
19, 21..27 |
datetime2 |
SQL_SS_TYPE_SMALLDATETIME |
0 |
19 |
smalldatetime |
SQL_SS_TYPE_DATETIME |
3 |
23 |
datetime |
Varsayılan ayar olan sql_ca_ss_server_type sql_ss_type_default olur.SQL_DESC_PRECISION ve sql_desc_length açıklandığı gibi sql_ca_ss_server_type ayarıyla doğrulandığı tablo yukarıda.Bu doğrulama başarısız olursa, SQL_ERROR hatası döndürülür ve tanılama kaydı SQLState 07006 ve ileti "Yasak veri türü öznitelik ihlali" ile kaydedilir.sql_ca_ss_server_type ise bu hata ayrıca döndürülen küme ve DESC_CONCISE_TYPE sql_ss_type varsayılan dışında bir değere SQL_TYPE_TIMESTAMP değil.Bu doğrulamaları tanımlayıcısı tutarlılık doğrulaması örneğin yapıldığında gerçekleştirilir:
Ne zaman sql_desc_data_ptr değiştirilir.
AT hazırlamak veya ne saat SQLExecute, SQLExecDirect, SQLSetPos veya SQLBulkOperations zamana () yürütmek.
Bir uygulamayı zorlar, bir olmayan-ertelenmiş hazırlamak çağırarak SQLPrepare ile ertelenmiş devre dışı hazırlamak veya göre arama SQLNumResultCols, SQLDescribeCol, veya SQLDescribeParam hazırlanan ancak yürütülmez bir deyim için.
sql_ca_ss_server_type olduğunda küme için yapılan bir çağrı tarafından SQLSetDescField, sql_ss_type_default, SQL_SS_TYPE_SMALLDATETIME veya değeri olmalıdırSQL_SS_TYPE_DATETIME. Bu ise, durum, SQL_ERROR hatası döndürülür ve tanılama kaydı SQLState HY092 ve "geçersiz öznitelik/seçenek tanımlayıcı" iletisi ile kaydedilir.
sql_ca_ss_server_type öznitelik tarafından desteklenen işlevlerini kullanan uygulamalar tarafından kullanılan datetime ve smalldatetime, ama datetime2.Örneğin, datetime2 kullanımını gerektiren dateadd ve datediif işlevleri, oysa datetime ve smalldatetime da izin aritmetik işleçler.Uygulamaların çoğu bu öznitelik kullanın gerek kalmaz ve kullanımını kaçınılmalıdır.
IRD alanlar döndürülen bilgileri
Aşağıdaki bilgiler, IRD alanları verilir:
Sütun türü |
tarih |
saat |
smalldatetime |
datetime |
datetime2 |
datetimeoffset |
---|---|---|---|---|---|---|
SQL_DESC_AUTO_UNIQUE_VALUE |
SQL_FALSE |
SQL_FALSE |
SQL_FALSE |
SQL_FALSE |
SQL_FALSE |
SQL_FALSE |
SQL_DESC_CASE_SENSITIVE |
SQL_FALSE |
SQL_FALSE |
SQL_FALSE |
SQL_FALSE |
SQL_FALSE |
SQL_FALSE |
SQL_DESC_CONCISE_TYPE |
SQL_TYPE_DATE |
SQL_SS_TIME2 |
SQL_TYPE_TIMESTAMP |
SQL_TYPE_TIMESTAMP |
SQL_TYPE_TIMESTAMP |
SQL_SS_TIMESTAMPOFFSET |
SQL_DESC_DATETIME_INTERVAL_CODE |
SQL_CODE_DATE |
0 |
SQL_CODE_TIMESTAMP |
SQL_CODE_TIMESTAMP |
SQL_CODE_TIMESTAMP |
0 |
SQL_DESC_DATETIME_INTERVAL_PRECISION |
10 |
8,10..16 |
16 |
23 |
19, 21..27 |
26, 28..34 |
SQL_DESC_DISPLAY_SIZE |
10 |
8,10..16 |
16 |
23 |
19, 21..27 |
26, 28..34 |
SQL_DESC_FIXED_PREC_SCALE |
SQL_FALSE |
SQL_FALSE |
SQL_FALSE |
SQL_FALSE |
SQL_FALSE |
SQL_FALSE |
SQL_DESC_LENGTH |
10 |
8,10..16 |
16 |
2 |
19, 21..27 |
26, 28..34 |
SQL_DESC_LITERAL_PREFIX |
‘ |
‘ |
‘ |
‘ |
‘ |
‘ |
SQL_DESC_LITERAL_SUFFIX |
‘ |
‘ |
‘ |
‘ |
‘ |
‘ |
SQL_DESC_LOCAL_TYPE_NAME |
date |
time |
smalldatetime |
datetime |
datetime2 |
datetimeoffset |
SQL_DESC_OCTET_LENGTH |
6 |
12 |
4 |
8 |
16 |
20 |
SQL_DESC_PRECISION |
0 |
0..7 |
0 |
3 |
0..7 |
0..7 |
SQL_DESC_SCALE |
0 |
0..7 |
0 |
3 |
0..7 |
0..7 |
SQL_DESC_SEARCHABLE |
SQL_PRED_SEARCHABLE |
SQL_PRED_SEARCHABLE |
SQL_PRED_SEARCHABLE |
SQL_PRED_SEARCHABLE |
SQL_PRED_SEARCHABLE |
SQL_PRED_SEARCHABLE |
SQL_DESC_TYPE |
SQL_DATETIME |
SQL_SS_TIME2 |
SQL_DATETIME |
SQL_DATETIME |
SQL_DATETIME |
SQL_SS_TIMESTAMPOFFSET |
SQL_DESC_TYPE_NAME |
date |
time |
smalldatetime |
datetime |
datetime2 |
datetimeoffset |
SQL_DESC_UNSIGNED |
SQL_TRUE |
SQL_TRUE |
SQL_TRUE |
SQL_TRUE |
SQL_TRUE |
SQL_TRUE |