Поделиться через


Сопоставления типов данных в собственных веб-службах с поддержкой XML

В будущей версии Microsoft SQL Server эта возможность будет удалена. Избегайте использования этой возможности в новых разработках и запланируйте изменение существующих приложений, в которых она применяется.

Следующая таблица показывает сопоставления типов SQL типам данных XSD.

Тип SQL

Тип XSD

Ограничения типа

BigInt

xsd:long

 

Binary

xsd:base64Binary

 

Bit

xsd:boolean

 

Char

xsd:string

 

DateTime

xsd:dateTime

<xsd:pattern value="((000[1-9])|(00[1-9][0-9])|(0[1-9][0-9]{2})|([1-9][0-9]{3}))-((0[1-9])|(1[0,1,2]))-((0[1-9])|([1,2][0-9])|(3[0,1]))T(([0,1][0-9])|(2[0-3]))(:[0-5][0-9]){2}(\.[0-9]{2}[0,3,7])?" />

<xsd:maxInclusive value="9999-12-31T23:59:59.997"/>

<xsd:minInclusive value="1753-01-01T00:00:00.000"/>

Decimal

xsd:decimal

 

Float(53)

xsd:double

 

GUID (same as UniqueIndentifier)

xsd:string

<xsd:pattern value="([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})|(\{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\})" />

Image

xsd:base64Binary

 

Int

xsd:int

 

Money

xsd:decimal

<xsd:totalDigits value="19"/>

<xsd:fractionDigits value="4"/>

<xsd:maxInclusive value="922337203685477.5807"/>

<xsd:minInclusive value="-922337203685477.5808"/>

NChar

xsd:string

 

NText

xsd:string

 

Numeric

xsd:decimal

 

NVarChar

xsd:string

 

Real

xsd:float

 

SmallInt

xsd:short

 

SmallDateTime

xsd:dateTime

<xsd:pattern value="((000[1-9])|(00[1-9][0-9])|(0[1-9][0-9]{2})|([1-9][0-9]{3}))-((0[1-9])|(1[0,1,2]))-((0[1-9])|([1,2][0-9])|(3[0,1]))T(([0,1][0-9])|(2[0-3]))(:[0-5][0-9])(:00)" />

<xsd:maxInclusive value="2079-06-06T23:59:00"/><xsd:minInclusive value="1900-01-01T00:00:00"/>

SmallMoney

xsd:decimal

<xsd:totalDigits value="10"/>

<xsd:fractionDigits value="4"/>

<xsd:maxInclusive value="214748.3647"/><xsd:minInclusive value="-214748.3648"/>

Sql_Variant

xsd:anyType

 

Text

xsd:string

 

TimeStamp

xsd:base64Binary (в режиме совместимости с SQL Server 2005 или более поздними версиями); xsd:long (в режиме совместимости с SQL Server 2000)

<xsd:maxLength>8</xsd:maxLength>

TinyInt

xsd:unsignedByte

 

UDT (стиль среды CLR)

xsd:base64Binary (в SQL Server 2005)

Дополнительные сведения о действительном типе данных обеспечиваются в аспектах.

UDT (старый стиль)

Сопоставлен с исходным базовым типом

 

VarBinary

xsd:base64Binary

 

VarChar

xsd:string

 

XML

xsd:any

 

XML (типизированный)

xsd:any

Возвращается XML-схема, к которой типизирован XML-документ.

Замечания, касающиеся аспектов типов данных параметров в запросах SOAP

При выдаче нерегламентированных запросов можно указывать параметры. В указанные параметры можно добавлять аспекты параметров. Эти аспекты при отправке нерегламентированного запроса могут быть указаны в элементе узла <SqlParameter> или элементе узла <Value>. Сведения об аспектах параметров см. в разделе Структура сообщения SOAP-запроса.

Следующая таблица показывает, каким образом тип xsi:type сопоставляется с типами SQL. Обратите внимание, что тип xsi:type является одним из аспектов, которые можно добавить в элемент узла <Value> при построении запроса SOAP.

ПримечаниеПримечание

Не поддерживаются определяемые пользователем типы данных, добавленные начиная с SQL Server 2008.

xsi:type

Тип SQL

sqltypes:bigint

BigInt

sqltypes:binary

Binary

sqltypes:bit

Bit

sqltypes:char

Char

sqltypes:datetime

DateTime

sqltypes:decimal

Decimal

sqltypes:float

Float

sqltypes:image

Image

sqltypes:int

Int

sqltypes:money

Money

sqltypes:nchar

NChar

sqltypes:ntext

NText

sqltypes:numeric

Numeric

sqltypes:nvarchar

NVarChar

sqltypes:real

Real

sqltypes:smalldatetime

SmallDateTime

sqltypes:smallint

SmallInt

sqltypes:smallmoney

SmallMoney

sqltypes:text

Text

sqltypes:timestamp

Timestamp

sqltypes:tinyint

TinyInt

sqltypes:uniqueidentifier

UniqueIdentifier

sqltypes:varbinary

VarBinary

sqltypes:varchar

VarChar

sqltypes:xml

Xml

xsd:anyType

Xml

xsd:boolean

Bit

xsd:datetime

DateTime

xsd:decimal

Decimal

xsd:double

Float

xsd:float

Real

xsd:int

Int

xsd:long

BigInt

xsd:short

SmallInt

xsd:string

NVarchar

xsd:unsignedByte

TinyInt

xsd:base64Binary

varbinary

В следующей таблице перечислены все возможные значения аспекта SqlDbType, который может быть добавлен в элемент узла <SqlParameter> при создании нерегламентированного запроса.

BigInt

SmallDateTime

Binary

SmallInt

Bit

SmallMoney

Char

Text

DateTime

Timestamp

Decimal

TinyInt

Float

Udt

Image

UniqueIdentifier

Int

VarBinary

Money

VarChar

NChar

Variant

NText

Xml

NVarChar

Real