Mapping dei tipi di dati in servizi Web XML nativi
Questa caratteristica verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Evitare di utilizzare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.
Nella tabella seguente viene mostrato il mapping dei tipi SQL in tipi XSD.
Tipo SQL |
Tipo XSD |
Restrizioni del tipo |
---|---|---|
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 (in SQL Server 2005 o una modalità di compatibilità successiva); xsd:long (in modalità di compatibilità di SQL Server 2000) |
<xsd:maxLength>8</xsd:maxLength> |
TinyInt |
xsd:unsignedByte |
|
UDT (stile CLR) |
xsd:base64Binary (in SQL Server 2005) |
All'interno dei facet sono presenti ulteriori informazioni sul tipo effettivo. |
UDT (vecchio stile) |
Mappato nel tipo di base originale |
|
VarBinary |
xsd:base64Binary |
|
VarChar |
xsd:string |
|
XML |
xsd:any |
|
XML (tipizzato) |
xsd:any |
Viene restituito lo schema XML in cui è tipizzato il codice XML. |
Problemi dei tipi di dati specifici dei facet dei parametri in una richiesta SOAP
Nell'invio di richieste di query ad hoc è possibile specificare dei parametri. Quando si specificano parametri è facoltativamente possibile aggiungere anche facet dei parametri. I facet possono essere specificati sul nodo dell'elemento <SqlParameter> o sul nodo dell'elemento <Value> quando si invia una richiesta di query ad hoc. Per ulteriori informazioni sui facet dei parametri, vedere Struttura dei messaggi di richiesta SOAP.
Nella tabella seguente vengono elencate le modalità di mapping di xsi:type in tipi SQL. Si noti che xsi:type è uno dei facet che è possibile aggiungere al nodo dell'elemento <Value> nella formulazione della richiesta SOAP.
[!NOTA]
I tipi di dati aggiunti a partire da SQL Server 2008 non sono supportati.
xsi:type |
Tipo 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 |
Nella tabella seguente vengono elencati i possibili valori del facet SqlDbType che è possibile aggiungere al nodo dell'elemento <SqlParameter> quando si formula una richiesta di query ad hoc.
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 |