ページの先頭行へ戻る
Linkexpress Transactional Replication option V5.0L60 説明書
FUJITSU Software

13.3.1 SQL Serverのサポート範囲

SQL Serverのサポート範囲について説明します。

13.3.1.1 インスタンス

同一サーバ内の「既定のインスタンス」および「名前付きインスタンス」を使用できます。

13.3.1.2 SQL Serverの機能に関する制限

以下のSQL Serverの機能は使用できません。

13.3.1.3 ジャーナル取得の対象に関する制限

ユーザ定義のテーブル以外はジャーナル取得の対象に指定できません。

13.3.1.4 データ型

TJNLにおけるSQL Serverのデータ型のサポート可否を"表13.1 TJNLにおけるSQL Serverのデータ型のサポート可否"に示します。サポートする一部のデータ型については指定可能な長さ、精度、位取りに制限があります。詳細は"B.5.3 取得定義構文(SQL Server連携)”の"表B.40 長さ、精度、および位取りの最小値、最大値、および省略値"を参照してください。

表13.1 TJNLにおけるSQL Serverのデータ型のサポート可否

データ型

説明

サポート可否

真数

bigint

2進整数(8バイト)

×

int
integer

2進整数(4バイト)

smallint

2進整数(2バイト)

tinyint

2進整数(1バイト)

×

decimal[(p,q)]
dec[(p,q)]

内部10進数

numeric[(p,q)]

外部10進数

bit

ビット列

×

money

金銭や通貨の値を表す金額データ

×

smallmoney

金銭や通貨の値を表す金額データ

×

概数

float[(n)]
double precision[(n)]

浮動小数点数値データ

real

浮動小数点数値データ

日付と時刻

date

日付

datetime

24時間形式の時刻(注1)

datetime2[(n)]

24時間形式の時刻(注1)

smalldatetime

24時間形式の時刻と組み合わせた日付

time[(n)]

1日の時刻(注1)

datetimeoffset[(n)]

タイムゾーンを認識する24時間形式の時刻と組み合わせた日付

×

文字列

char[(n)]
character[(n)]

固定長文字列

varchar[(n|max)]
char varying[(n|max)]
character varying[(n|max)]

可変長文字列(注2)(注5)

text

可変長文字列

×

Unicode文字列

nchar[(n)]
national char[(n)]
national character[(n)]

固定長Unicode文字列(注3)(注4)

nvarchar[(n|max)]
national char varying[(n|max)]
national character varying[(n|max)]

可変長Unicode文字列(注2) (注3)(注4)(注5)

ntext
national text

可変長Unicode文字列

×

バイナリ文字列

binary[(n)]

固定長バイナリデータ

varbinary[(n|max)]
binary varying[(n|max)]

可変長バイナリデータ(注2)

image

可変長バイナリデータ

×

その他データ型

geography

GPSの緯度経度座標などの楕円体(球体地球)データ

×

geometry

ユークリッド(平面)座標系のデータ

×

hierarchyid

可変長のシステムデータ

×

cursor

カーソルへの参照を格納している変数やストアド プロシージャのOUTPUTパラメータを表すデータ

×

rowversion
timestamp

一意の2進数

×

uniqueidentifier

16バイトのGUID

×

sql_variant

SQL Serverでサポートしている各種データ型の値

×

xml

XMLデータ

×

table

後で処理するために結果セットを格納するときに使用する特別なデータ

×

ユーザ定義型

ユーザが定義するデータ型

×

注1)秒未満の値は切り捨てます。
注2)max系のデータは取得可能なジャーナルのサイズに制限があります。
注3)JIS2004の字形追加文字は2文字分の定義が必要です。
注4)日本語文字(全角文字)だけを扱います。JIS X 201の範囲のデータは扱えません。
注5)max系のデータは取得定義の列編集情報を指定する必要があります。列編集情報については、"列編集情報"を参照してください。

○:サポート
△:条件つきサポート
(長さ、精度、および位取りに指定可能な範囲については"表B.40 長さ、精度、および位取りの最小値、最大値、および省略値"を参照してください。)
×:サポート外

13.3.1.4.1 データ型の変換

numericdecimalの変換

SQL Serverではnumeric型とdecimal型は同じ型ですが、TJNLではnumeric型とdecimal型を区別して差分抽出します。

このため、差分抽出データ型に合わせてデータ型の変換が必要な場合は、TJNLが提供するSQLスクリプトとバッチファイルのひな型を任意のフォルダに複写(例 C:\temp)し、環境にあわせて修正してから作業を行います。

SQLスクリプト
--------------------------------------------------------------------------------------
インストールフォルダ\TJNL\sample\sqlserver\TJNLCONVNUMDEC.sql
--------------------------------------------------------------------------------------
バッチファイル
--------------------------------------------------------------------------------------
インストールフォルダ\TJNL\sample\sqlserver\TJNLCONVNUMDEC.bat
--------------------------------------------------------------------------------------

例として使用する"表13.2 データベースの構成"を以下に示します。

表13.2 データベースの構成

資源

名前

コンピュータ名

SERVER1

インスタンス名

DBINSTANCE

データベース名

販促

スキーマ名

関東地区

テーブル名

家電

対象項目名

販売店コード、製品番号

固定長の有効桁数

10

小数点以下桁数

0

環境に合わせてひな型を修正します。修正に必要な情報はSQL Serverの管理者に確認してください。

ひな型の修正内容について、以下に説明します。

SQLスクリプトを修正する
1)データベース名を修正する

SQLスクリプトに設定されているデータベース名を修正します。

以下に修正の入力例を示します。斜体の部分が修正箇所です。

例.データベース名の修正

--------------------------------------------------------------------------------------
   USE 販促;
--------------------------------------------------------------------------------------
2)データ型を変換するSQL文を修正する

SQLスクリプトにデータ型を変換するSQL文を記述します。

以下にSQLスクリプトに記述するSQL文の例を示します。斜体の部分が修正箇所です。

例.データ型変換(numeric型からdecimal型へ変換する場合)

--------------------------------------------------------------------------------------
   ALTER TABLE 関東地区.家電 ALTER COLUMN 販売店コード decimal(10,0)
--------------------------------------------------------------------------------------

例.データ型変換(decimal型からnumeric型へ変換する場合)

--------------------------------------------------------------------------------------
   ALTER TABLE 関東地区.家電 ALTER COLUMN 製品番号 numeric(10,0)
--------------------------------------------------------------------------------------
バッチファイルを修正する

バッチファイルに設定されているインスタンス名を修正します。

以下に修正の入力例を示します。斜体の部分が修正箇所です。

例.インスタンス名の修正(名前付きインスタンスの場合)

--------------------------------------------------------------------------------------
   INSTANCE_NAME=SERVER1\DBINSTANCE
--------------------------------------------------------------------------------------

例.インスタンス名の修正(既定のインスタンスの場合)

--------------------------------------------------------------------------------------
   INSTANCE_NAME=SERVER1
--------------------------------------------------------------------------------------
データ型に変換する

バッチファイルを実行して、データ型を変換します。

修正したバッチファイルとSQLスクリプトを同じフォルダに格納しておきます。

以下に実行例を示します。

.バッチファイルの実行例

--------------------------------------------------------------------------------------
   TJNLCONVNUMDEC.bat
--------------------------------------------------------------------------------------

13.3.1.5 名前の制限

名前の制限について説明します。

13.3.1.5.1 トリガー

データベースに作成するトリガーについては、"TJNLTRG_"で始まる名前を使用しないでください。

13.3.1.5.2 ODBCデータソース

TJNLでは以下のODBCデータソースを使用しています。

他のアプリケーションからこのODBCデータソースは使用しないでください。

tjnlTRMシステム名