Aracılığıyla paylaş


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

Özel tarih/saat arasında gerçekleştirilen dönüşümleri açıklanmıştır yazılmış bir istemci uygulaması SQL Serveryerel istemci ole db ve SQL Server 2008(veya daha yenisi).

Dönüşümleri

İstemci üzerinde yapılan modifikasyonlar açıklanmıştır. İstemci, sunucuda tanımlı farklı bir parametre için kesirli saniye duyarlık belirtiyorsa, istemci dönüştürme nerede sunucu işleminin başarılı olması için izin verecek durumda bir hata neden olabilir. Oysa, bir hata, istemci herhangi bir kesilme Kesirli saniye özellikle kaldırılıp davranır SQL ServerTur süresi değerleri en yakın bütün ikinci.

Eğer ICommandWithParameters::SetParameterInfodeğil denir dbtype_dbtımestamp bağlamaları dönüştürülür sanki gibi onlar were datetime2.

->

Kaynak

dbdate (Tarih)

DBTIME (zaman)

DBTIME2 (zaman)

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

tarihi

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

Semboller için anahtar

Simge

Anlamı

-

Dönüştürme desteklenir. Bağlama doğrulanırsa ne zaman IAccessor::CreateAccessorolan denilen, DBBINDSTATUS_UPSUPPORTEDCONVERSION iade rgStatus. Erişimci doğrulama ertelenmiş, dbstatus_e_badaccessor ayarlanır.

Yok

Uygulanamaz.

1

Sağlanan veri geçerli değil, dbstatus_e_cantconvertvalue ayarlanır. Giriş veri dönüşümleri uygulanabilmesi doğrulanır, bileşen sayılacak kadar bile bir sonraki dönüşüm tarafından o hala başarılı olması dönüşüm için geçerli olmalıdır.

2

Saat alanları göz ardı edilir.

3

Kesirli saniye sıfır olmalı veya dbstatus_e_dataoverflow ayarlanır.

4

Tarih bileşeni yok sayılır.

5

The timezone istemcinin dilimimi ayarına ayarlanır.

6

Süre sıfır olarak ayarlanır.

7

Tarihi geçerli tarih olarak ayarlanır.

8

UTC'ye dönüştürülür. Bu dönüştürme sırasında bir hata ortaya çıkarsa, dbstatus_e_cantconvertvalue ayarlanır.

9

Dize ISO tarafından sabit bir değer olarak ayrıştırılmış ve hedef türe dönüştürülür. Bu başarısız olursa, dize (Bu da zamanı bileşenleri) bir ole tarihi olarak hazır bilgi ayrıştırılmış ve bir ole tarihinden (dbtype_date) hedef türe dönüştürülür.

Eğer hedef türü DBTIMESTAMP, smalldatetime, datetime, veya datetime2, dizesi sözdizimi Tarih için uyması gereken zaman, veya datetime2rakamları veya ole tarafından tanınan sözdizimine. Dize hazır bilgi tarih ise, tüm zamanı bileşenleri sıfır olarak ayarlanır. Dize değişmezi bir zaman ise, tarihi geçerli tarih olarak ayarlanır.

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

10

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

Smalldatetime DBTIMESTAMP (datetime) dönüşüm için SQL Serveryerel istemci sessizce dbstatus_e_dataoverflow hata yükseltme yerine saniye değeri kesecek.

11

Kesirli ikinci basamak (ölçek) hedef sütunun boyutunu, aşağıdaki tabloya göre belirlenir. Tablo aralığı daha büyük sütun boyutlarını bir ölçek 9 açık. Bu dönüşüm için en çok dokuz kesirli ikinci basamak, ole db tarafından izin verilen en fazla izin vermelidir.

Ancak, kaynak türü DBTIMESTAMP Kesirli saniye sıfır ise, hiçbir kesirli ikinci basamak veya ondalık noktası oluşturulur. Bu davranış, geriye uyumluluk için eski ole db sağlayıcılarını kullanarak geliştirilen uygulamaları sağlar.

Bir sütunun boyutunu ~ 0 anlamına gelir, sınırsız büyüklükte ole DB (9 basamak, DBTIMESTAMP için 3 haneli 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

Önce dönüştürme semantiği SQL Server 2008dbtype_date için korunur. Kesirli saniye sıfır kesilir.

13

Önce dönüştürme semantiği SQL Server 2008DBTYPE_FILETIME için korunur. Eğer Windows kullanıyorsanız FileTimeToSystemTimeAPI, Kesirli saniye duyarlık 1 milisaniye için sınırlı.

14

Önce dönüştürme semantiği SQL Server 2008için smalldatetimekorunur. Saniye sıfır olarak ayarlanır.

15

Önce dönüştürme semantiği SQL Server 2008için datetimekorunur. Saniye saniye yakın 300th için yuvarlanır.

16

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

Ayrıca bkz.

Kavramlar

Bağlama ve Dönüşümlerini (ole db)