Aracılığıyla paylaş


İstemciden sunucuya gerçekleştirilen dönüşümleri

Bu konu, tarih/saat dönüşümleri arasında gerçekleştirilen açıklar ile yazılmış bir istemci uygulama SQL Server yerel istemci ole db ve SQL Server 2008 (veya üstü).

Dönüşümleri

Bu konuda istemci üzerinde yapılan dönüştürmeleri açıklanır.İstemci sunucuda tanımlı belirtilenden farklı bir parametre için Kesirli saniye duyarlık belirtiyorsa, istemci dönüştürme sunucu işleminin başarılı olması için nereden izin durumlarda başarısız olmasına neden.Özellikle, istemci herhangi bir kesme Kesirli saniye hata olarak, oysa işler SQL Server saat en yakın tam ikinci değerleri yuvarlar.

If ICommandWithParameters::SetParameterInfo is not called, DBTYPE_DBTIMESTAMP bindings are converted as if they were datetime2.

->

Dan

dbdate (tarih)

DBsaat (saat)

DBsaat2 (saat)

DBTIMESTAMP (smalldatetime)

DBTIMESTAMP (datetime)

DBTIMESTAMP (datetime2)

DBTIMESTAMPOFFSET (datetimeoffset)

STR

WSTR

SQLVARIANT

(sql_variant)

DATE

1,2

1,3,4

4,12

1,12

1,12

1,12

1,5, 12

1,12

1,12

1,12

datetime2(0)

DBDATE

1

-

-

1,6

1,6

1,6

1,5, 6

1,10

1,10

1

tarih

DBTIME

-

1

1

1,7

1,7

1,7

1,5, 7

1,10

1,10

1

Time(0)

DBTIME2

-

1,3

1

1,7,10,14

1,7,10,15

1,7,10

1,5,7,10

1,10,11

1,10,11

1

Time(7)

DBTIMESTAMP

1,2

1,3,4

1,4,10

1,10,14

1,10,15

1,10

1,5,10

1,10,11

1,10,11

1,10

datetime2(7)

DBTIMESTAMPOFFSET

1,2,8

1,3,4,8

1,4,8,10

1,8,10,14

1,8,10,15

1,8,10

1,10

1,10,11

1,10,11

1,10

datetimeoffset(7)

FILETIME

1,2

1,3,4

1,4,13

1,13

1,13

1,13

1,5,13

1,13

1,10

1,13

datetime2(3)

BAYT

-

-

-

-

-

-

-

Yok

Yok

Yok

VARYANT

1

1

1

1,10

1,10

1,10

1,10

Yok

Yok

1,10

SSVARIANT

1,16

1,16

1,16

1,10,16

1,10,16

1,10,16

1,10,16

Yok

Yok

1,16

BSTR

1,9

1,9

1,9,10

1,9,10

1,9,10

1,9,10

1,9,10

Yok

Yok

Yok

STR

1,9

1,9

1,9,10

1,9,10

1,9,10

1,9,10

1,9,10

Yok

Yok

Yok

WSTR

1,9

1,9

1,9,10

1,9,10

1,9,10

1,9,10

1,9,10

Yok

Yok

Yok

Simge anahtarı

Simge

Anlamı

-

Dönüştürme desteklenir.Bağlama doğrulanırsa, IAccessor::CreateAccessor olduğu denilen, DBBINDSTATUS_UPSUPPORTEDCONVERSION iade rgStatus.erişimci doğrulaması ertelenmiş, dbstatus_e_badaccessor küme.

Yok

Uygulanamaz.

1

Sağlanan verilerin geçerli ise, dbstatus_e_cantconvertvalue küme.Giriş veri dönüşümleri uygulanabilmesi doğrulanır, bir bileşeni yok sayılır, bu nedenle bile bir sonraki dönüştürme onu hala dönüştürme işleminin başarılı olması geçerli olması gerekir.

2

Saat alanları göz ardı edilir.

3

Kesirli saniye sıfır olmalı veya dbstatus_e_dataoverflow küme.

4

Tarih bileşeni yok sayılır.

5

Saat dilimi olan küme için istemcinin timezone kümeting.

6

saat Sıfır olarak küme.

7

Tarihi geçerli tarih olarak küme.

8

saat utc için dönüştürülür.Bu dönüştürme sırasında bir hata meydana gelirse, dbstatus_e_cantconvertvalue küme.

9

Dize ISO sabit değer olarak ayrıştırılır ve dönüştürülmesi için hedef türü.Bu başarısız olursa, dize bir ole tarih hazır bilgisi ayrıştırılır (aynı zamanda sahip olduğu saat bileşenleri) ve bir ole tarihnden (dbtype_date) hedef türe dönüştürülür.

Hedef türü, DBTIMESTAMP, smalldatetime, datetime, veya datetime2, dize tarih için sözdizimine uygun olmalıdır saat, ya da datetime2 değişmezleri, veya ole tarafından tanınan sözdizimiDize hazır bilgi, bir tarih ise tüm saat bileşenleri sıfır olarak ayarlayın.Dize değişmezi bir saat ise, tarihi geçerli tarih olarak küme.

Diğer tüm hedef türleri için hedef türü sabit değerleri için sözdizimi dize uyması gerekir.

10

Kesilmesi Kesirli saniye ile veri kaybı oluşursa, dbstatus_e_dataoverflow küme.Dize ISO sözdizimine uyan, dize dönüştürmeleri için taşma denetimi yalnızca mümkündür.Dize değişmezi bir ole tarih ise, kesirli saniye yuvarlanır.

DBTIMESTAMP (datetime)'de smalldatetime-dönüşümü için SQL Server Native Client sessizce saniye değerini yükseltme yerine truncatedbstatus_e_dataoverflow hata.

11

Kesirli ikinci basamak (Ölçek), hedef sütunun boyutuna göre aşağıdaki belirlenir tablo.Tablo aralık büyük sütun boyutları için 9 ölçeğini de kullanılmış olur.Bu dönüşüm için en çok dokuz kesirli ikinci basamak, ole db tarafından izin verilen en fazla izin vermelisiniz.

Ancak, kaynak türü DBTIMESTAMP Kesirli saniye sıfır ise, ikinci kesirli basamaklar ya da ondalık noktasının oluşturulur.Bu davranış, geriye doğru uyumluluk için eski ole db sağlayıcıları kullanılarak geliştirilmiş uygulamalar sağlar.

sütun boyutunu ~ 0 anlamına gelir, ole db sınırsız boyutu (9 basamak, DBTIMESTAMP için 3 basamaklı kuralın uygulandığı sürece).

TürUzunluk (karakter)Ölçek
DBTIME28, 10..180,1..9
DBTIMESTAMP19, 21..290,1..9
DBTIMESTAMPOFFSET26, 28..360,1..9

12

Dönüştürme semantik önce SQL Server 2008 dbtype_date için korunur.Kesirli saniye sıfır olarak kısaltılır.

13

Dönüştürme semantik önce SQL Server 2008 DBTYPE_FILETIME için korunur.Windows kullanıyorsanız, FileTimeToSystemTime API, kesirli saniye duyarlık sınırlı milisaniyelik 1.

14

Dönüştürme semantik önce SQL Server 2008 için smalldatetime korunur.Saniye sıfır olarak küme.

15

Dönüştürme semantik önce SQL Server 2008 için datetime korunur.Bir saniye için en yakın 300th saniye yuvarlanır.

16

SSVARIANT istemci yapı birimi içinde gömülü dönüştürme davranışını bir değer (belirli bir türün) aynı değer ve SSVARIANT istemci yapı birimi içinde gömülü olmayan zaman türü davranışı ile aynıdır.