Parametre ve sonucu meta veri
Ne uygulama ve uygulama parametresi tanımlayıcısı (IPD) satır tanımlayıcısı (IRD) alanları Tarih ve Saat veri türleri için döndürülen açıklanmıştır.
IPD alanlar döndürülen bilgi
Aşağıdaki bilgiler IPD alanları verilir:
Parametre türü |
tarihi |
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 |
smalldatetimeiçinde IRD, datetime2IPD içinde |
datetimeiçinde IRD, datetime2IPD 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ı discontinuities vardır. Örneğin, 9 8, 10..16 eksik. Bir ondalık için ek kesirli duyarlık sıfırdan büyük durumdur.
datetime2için typename olarak döndürülen smalldatetimeve datetimesürücü tüm iletimi için ortak bir türü olarak kullandığı SQL_TYPE_TIMESTAMPdeğerleri sunucusuna.
SQL_CA_SS_VARIANT_SQL_TYPE yeni bir tanımlayıcı alanıdır. Bu alanı IRD ve IPD ile ilişkili değer türünü belirtmek uygulamaları etkinleştirmek için eklenen sqlvariant(SQL_SSVARIANT) sütunları ve parametreleri
sql_ca_ss_server_type SQL_TYPE_TYPETIMESTAMP (veya SQL_C_TYPE_TIMESTAMP c türü ile SQL_SS_VARIANT olarak) ilişkili parametrelerin değerleri sunucuya nasıl gönderileceğini denetlemek için uygulamalarını etkinleştirmek için bir yeni salt IPD alanıdır. SQL_DESC_CONCISE_TYPE SQL_TYPE_TIMESTAMP ise (ya da SQL_SS_VARIANT ve c tipi SQL_C_TYPE_TIMESTAMP) ne zaman SQLExecuteya SQLExecDirectolan denilen, değeri sql_ca_ss_server_type, sekmeli veri akışı (tds) türü parametre değeri, aşağıdaki gibi belirler:
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 |
sql_ss_type_default sql_ca_ss_server_type, varsayılan ayardır. SQL_DESC_PRECISION ve sql_desc_length yukarıdaki tabloda açıklandığı gibi sql_ca_ss_server_type ayarı ile doğrulanır. Bu doğrulama başarısız olursa, sql_error döner ve tanılama kaydı SQLState 07006 ve "yasak veri türü özniteliği ihlali" iletisi günlüğe kaydedilir. Bu hata, sql_ca_ss_server_type ayarlanmışsa ve DESC_CONCISE_TYPE sql_ss_type varsayılan dışında bir değer SQL_TYPE_TIMESTAMP değil de döndürülür. Bu doğrulamaları tanımlayıcısı tutarlılık doğrulaması oluşur, örneğin gerçekleştirilir:
Ne zaman sql_desc_data_ptr değiştirilir.
İtibariyle hazırlamak veya yürütme zaman (ne zaman SQLExecute, SQLExecDirect, SQLSetPos veya SQLBulkOperations denir).
Ne zaman bir uygulama zorlar bir olmayan-ertelenen hazırlamak çağırarak SQLPrepareile ertelenen Engelli hazırlamak veya ile arama SQLNumResultCols, SQLDescribeCol, veya SQLDescribeParamhazır ama idam bir deyimi için.
Çağrısıyla sql_ca_ss_server_type ayarlandığında SQLSetDescField, değeri sql_ss_type_default, SQL_SS_TYPE_SMALLDATETIME veya SQL_SS_TYPE_DATETIME olması gerekir. Bu durumda değilse, sql_error döner ve tanılama kaydı SQLState HY092 ve "geçersiz öznitelik/seçenek belirteci" iletisi ile kaydedilir.
sql_ca_ss_server_type özniteliği tarafından desteklenen işlevselliğini kullanan uygulamalar tarafından kullanılabilen datetimeve smalldatetime, ama datetime2. Örneğin, datetime2gerektirmesi dateaddve datediif , oysa fonksiyonları datetimeve smalldatetimeda aritmetik işleçleri izin. Çoğu uygulama bu özelliği kullanmanız gerekmez ve kullanımını kaçınılmalıdır.
IRD alanlar döndürülen bilgi
Aşağıdaki bilgiler IRD alanları verilir:
Sütun türü |
tarihi |
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 |