データ型と RDA
次の表に、リモート データ アクセス (RDA) で Microsoft SQL Server データベースのデータにアクセスする際の、サポートされるデータ型とデータ型のマッピング、およびサポートされないデータ型を示します。
サポートされるデータ型
SQL Server のデータ型 | SQL Server Compact 3.5 のデータ型 |
---|---|
bigint (int 8) |
bigint |
binary (n) |
binary (n) |
bit |
bit |
Character (n)(シノニム :char (n)) |
national character (n) またはntext データの長さが 4,000 文字以下の場合、RDA により SQL Server の character データが SQL Server Compact の national character 型にマップされます。それ以外の場合、この型のデータは SQL Server Compact の ntext 型にマップされます。 ntext データの長さが character 列の長さを超える場合、データが SQL Server Compact から SQL Server に送信された時点でプッシュが失敗します。 |
character varying (n|max) (シノニム : char varyingvarchar (n|max)) |
national character varying (n) またはntext データの長さが 4,000 文字以下の場合、RDA により SQL Server の character varying データが SQL Server Compact の national character varying 型にマップされます。それ以外の場合、この型のデータは SQL Server Compact の ntext 型にマップされます。 character varying (max) データの長さが ntext 列の長さを超える場合、データが SQL Server から SQL Server Compact に送信された時点でプッシュが失敗します。 |
date |
'YYYY-MM-DD' 形式の nchar(10) 値
メモ:
SQL Server Compact はワイド文字を格納します。この型の変換サポートは、SQL Server Compact SP1 リリースによって提供されました。
|
datetime |
datetime |
datetime2 |
'YYYY-MM-DD hh:mm:ss.nnnnnnn' 形式の nvarchar(27) 値
メモ:
SQL Server Compact はワイド文字を格納します。この型の変換サポートは、SQL Server Compact 3.5 SP1 リリースによって提供されました。
|
datetimeoffset |
'YYYY-MM-DD hh:mm:ss.nnnnnnn [+/-] hh:mm' 形式の nvarchar(34) 値
メモ:
SQL Server Compact はワイド文字を格納します。この型の変換サポートは、SQL Server Compact 3.5 SP1 リリースによって提供されました。
|
decimal |
サポートされていません。numeric 型を使用してください。 |
double precision |
double precision |
float |
float |
filestream |
image
メモ:
この型の変換サポートは、SQL Server Compact 3.5 SP1 リリースによって提供されました。
|
geography |
image
メモ:
この型の変換サポートは、SQL Server Compact 3.5 SP1 リリースによって提供されました。
|
geometry |
image
メモ:
この型の変換サポートは、SQL Server Compact 3.5 SP1 リリースによって提供されました。
|
hierarchyid |
image
メモ:
この型の変換サポートは、SQL Server Compact 3.5 SP1 リリースによって提供されました。
|
image |
image |
integer (シノニム : int) |
integer |
money |
money |
national character (n)(シノニム : nchar (n)) |
national character (n) |
national character varying (n) |
national character varying (n) |
national character varying (max) (シノニム : nvarchar (max)) |
ntext national character varying (max) データの長さが ntext 列の長さを超える場合、データが SQL Server から SQL Server Compact に送信された時点でプッシュが失敗します。 |
ntext |
ntext |
numeric (シノニム : decimal, dec) |
numeric |
real |
real |
smalldatetime |
datetime datetime データの有効桁数が smalldatetime 列の有効桁数を超える場合、データが SQL Server Compact から SQL Server に送信された時点で同期が失敗します。 |
smallint (int 2) |
smallint (int 2) |
smallmoney |
money money データの有効桁数が smallmoney 列の有効桁数を超える場合、データが SQL Server Compact から SQL Server に送信された時点で同期が失敗します。 |
text |
ntext text データの長さが 1,073,741,823 文字を超える場合、データが SQL Server から SQL Server Compact に送信された時点で同期が失敗します。 |
time |
'hh:mm:ss.nnnnnnn' 形式の nvarchar(16) 値
メモ:
SQL Server Compact はワイド文字を格納します。この型の変換サポートは、SQL Server Compact 3.5 SP1 リリースによって提供されました。
|
tinyint |
tinyint |
uniqueidentifier |
uniqueidentifier |
varbinary (n) |
varbinary (n) |
varbinary (max) |
image varbinary (max) データの長さが image 列の長さを超える場合、データが SQL Server から SQL Server Compact に送信された時点で同期が失敗します。 |
XML |
ntext |
サポートされないデータ型
データ型 | 説明 |
---|---|
sql_variant, UTCDATETIME, UDT |
サポートされていません。 このデータ型の列を RDA Pull メソッドに含めないようにしてください。 |
データ型の使用
可能な限り、SQL Server と SQL Server Compact の両方でサポートされているデータ型を選択してください。そうすれば、RDA ではデータのマッピングを実行する必要がありません。これができない場合は、SQL Server Compact に格納された値をアプリケーションで検証し、RDA によって SQL Server と SQL Server Compact との間でこれらの値をマップできることを確認する必要があります。
date、datetime2、datetimeoffset、および time をネイティブでサポートしていない既存のアプリケーションでは、nchar や nvarchar などの、互換性のあるデータ型にマップされたデータを処理する必要があります。
長さが 4,000 文字を超える char 型または varchar 型の主キーを持つテーブルからは、データをプルできません。このように文字の長さが 4,000 文字を超える列の型は ntext 型にマップされますが、ntext 型の列に主キーを作成することはできません。
あるデータ型が SQL Server Compact のサブスクリプション データベースの ntext 型にマップされると、SQL Server で型が変更されたとしても、そのデータ型はサブスクリプションが再初期化されるまで、ntext 型のまま保持されます。また、あるデータ型が SQL Server Compact の ntext 型にマップされると、SQL Server のデータ型 (たとえば nvarchar (MAX)) のインデックスはすべて無視され、SQL Server Compact でこの型のインデックスが作成されることもありません。
参照
概念
その他のリソース
マネージ データ型マッピング (SQL Server Compact)