Aracılığıyla paylaş


Sunucudan istemciye gerçekleştirilen dönüşümleri

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

Dönüşümleri

Aşağıdaki tabloda, istemciye döndürülen türü ve bağlama türü arasında dönüştürme açıklar. Çıkış parametreleri, eğer ICommandWithParameters::SetParameterInfoçağrıldı ve belirtilen türü pwszDataSourceTypedeğil sunucuda bir örtük dönüştürme gerçek türü sunucu tarafından gerçekleştirilecek maç yapar ve istemciye döndürülen türü ile belirtilen tür maç olacak ICommandWithParameters::SetParameterInfo. Sunucunun dönüştürme kuralları bu konuda açıklanan farklı olduğunda bu dönüştürme beklenmeyen sonuçlara yol açabilir. Örneğin, ne zaman bir varsayılan tarih sağlanmalıdır, SQL Server1900-1-1 yerine 1899-12-30 kullanır.

->

Kaynak

DATE

DBDATE

DBTIME

DBTIME2

DBTIMESTAMP

DBTIMESTAMPOFFSET

FILETIME

BAYT

VARYANT

SSVARIANT

BSTR

STR

WSTR

Tarihi

1,7

Tamam

-

-

1

1,3

1,7

-

TAMAM'I TIKLATIN (VT_BSTR)

Tamam

Tamam

4

4

Time

5,6,7

-

9

Tamam

6

3,6

5,6

-

TAMAM'I TIKLATIN (VT_BSTR)

Tamam

Tamam

4

4

Smalldatetime

7

8

9,10

10

Tamam

3

7

-

7 (VT_DATE)

Tamam

Tamam

4

4

DateTime

5,7

8

9,10

10

Tamam

3

7

-

7 (VT_DATE)

Tamam

Tamam

4

4

Datetime2

5,7

8

9,10

10

7

3

5,7

-

TAMAM'I TIKLATIN (VT_BSTR)

Tamam

Tamam

4

4

Datetimeoffset

5,7,11

8,11

9,10,11

10,11

7,11

Tamam

5,7,11

-

TAMAM'I TIKLATIN (VT_BSTR)

Tamam

Tamam

4

4

Char, Varchar,

Nchar, Nvarchar

7, 13

12

12,9

12

12

12

7,13

Yok

Yok

Yok

Yok

Yok

Yok

Sql_variant

(datetime)

7

8

9,10

10

Tamam

3

7

-

7(VT_DATE)

Tamam

Tamam

4

4

Sql_variant

(smalldatetime)

7

8

9,10

10

Tamam

3

7

-

7(VT_DATE)

Tamam

Tamam

4

4

Sql_variant

(Tarih)

1,7

Tamam

2

2

1

1,3

1,7

-

OK(VT_BSTR)

Tamam

Tamam

4

4

Sql_variant

(zaman)

5,6,7

2

6

Tamam

6

3,6

5,6

-

OK(VT_BSTR)

Tamam

Tamam

4

4

Sql_variant

(datetime2)

5,7

8

9,10

10

Tamam

3

5,7

-

OK(VT_BSTR)

Tamam

Tamam

4

4

Sql_variant

(datetimeoffset)

5,7,11

8,11

9,10,11

10,11

7,11

Tamam

5,7,11

-

OK(VT_BSTR)

Tamam

Tamam

4

4

Semboller için anahtar

Simge

Anlamı

Tamam

Dönüştürme gerekli değildir.

-

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.

1

Saat alanları sıfır olarak ayarlanır.

2

dbstatus_e_cantconvertvalue ayarlanır.

3

The timezone sıfır olarak ayarlayın.

4

İstemci arabellek yeterince büyük değilse, dbstatus_s_truncated ayarlanır. Sunucu türü Kesirli saniye içerdiğinde, basamak Sonuç dizesi sunucu türü ölçek tam olarak eşleşir.

5

Kesme saniye veya Kesirli saniye yoksayılır.

6

Tarihi geçerli tarihe kadar olan kaynak değişmez bir dize kez ve hedef dbtype_date ayarlanır. Bu durumda, 1899-12-30 kullanılır.

7

Değer taşarsa dbstatus_e_dataoverflow ayarlanır.

8

Saat alanları göz ardı edilir.

9

Kesirli saniye alanları göz ardı edilir.

10

Tarih bileşeni yok sayılır.

11

İstemci dilimimi dönüştürülür. dbstatus_e_dataoverflow ayarlanır bu dönüştürme sırasında bir hata meydana gelirse.

12

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. Dize harflerin ISO formatı ayrıştırma başarılı olmak için izin hedef türü sözdizimi uyması gerekir. Başarılı olmak için ayrıştırma ole için dize ole tarafından tanınan sözdizimine uygun olmalıdır. Dize ayrıştırılamaz dbstatus_e_cantconvertvalue ayarlanır. Herhangi bir bileşeni değerleri aralığının dışında ise dbstatus_e_dataoverflow ayarlanır.

13

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. Hedef dbtype_date veya dbtype_dbtımestamp olmadıkça dize datetime rakamları, sözdizimi uyması gerekir. Bu durumda, datetime veya zaman değişmez ISO formatı ayrıştırma başarılı olmak için izin verilir. Başarılı olmak için ayrıştırma ole için dize ole tarafından tanınan sözdizimine uygun olmalıdır. Dize ayrıştırılamaz dbstatus_e_cantconvertvalue ayarlanır. Herhangi bir bileşeni değerleri aralığının dışında ise dbstatus_e_dataoverflow ayarlanır.

Ayrıca bkz.

Kavramlar

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