SQL Serverを利用する場合には、以下を考慮します。
データ型
Navigatorで使用できるSQL Serverのデータ型について、説明します。
利用不可のデータ型の項目を含むテーブルの場合、利用不可のデータ型の項目を除いて、利用することができます。
SQL Serverデータ型 | Navigatorのデータ型 | |
|---|---|---|
整数型 | int | INTEGER |
smallint | SMALLINT | |
tinyint | SMALLINT | |
bigint | 利用不可 | |
概数型 | float(n)(25<=n<=53) | FLOAT |
float(n)(1<=n<=24) | 利用不可 | |
real | 利用不可 | |
真数型 | decimal(p,s) | DECIMAL(p,s) |
numeric(p,s) | NUMERIC(p,s) | |
文字型 | char(n) | CHARACTER(n) nは1から8000まで |
varchar(n) | VARCHAR(n) nは1から8000まで | |
varchar(MAX) | 利用不可 | |
nchar(n) | 利用不可 | |
nvarchar(n) | 利用不可 | |
nvarchar(MAX) | 利用不可 | |
日付時刻型 | datetime | CHARACTER(19) |
smalldatetime | CHARACTER(19) | |
金額型 | smallmoney | DECIMAL(10,4) |
money | DECIMAL(19,4) | |
特殊型 | bit | 利用不可 |
timestamp | 利用不可 | |
binary | 利用不可 | |
varbinary | 利用不可 | |
varbinary(MAX) | 利用不可 | |
uniqueidentifier | 利用不可 | |
sql_variant | 利用不可 | |
table | 利用不可 | |
sysname | 利用不可 | |
テキスト型 | text | 利用不可 |
ntext | 利用不可 | |
xml | 利用不可 | |
イメージ型 | image | 利用不可 |
なお、データの中に「改行のコード」や「タブのコード」などがある項目は、利用できません。このような項目を含む場合は、その項目を除いて利用してください。
オーバフローについての注意事項
数値項目のデータ型を決める場合には、ご利用のデータベースシステムのデータ型や、計算精度についての規則を考慮してください。オーバフローが発生すると、問い合わせや集計でエラーが発生するだけでなく、データベースシステム、またはその運用パラメタによっては、問い合わせや集計の結果が誤りになることがあります。
特に、smallint型やint型については、オーバフローが発生する危険度が高いため、使用にあたっては注意が必要です。
シノニム、データ項目数について
SQL Server 2005以降ではスキーマ、テーブル、項目などにシノニム(別名)を作成できますが、Navigatorからシノニムを利用することはできません。
SQL Server 7.0/2000のデータベースを利用する場合、次の注意があります。
1つのテーブルに256個以上の項目が定義されている場合、ツールで公開できるのはNavigatorで利用できないデータ型の項目も含め、先頭から255個目までの項目となります。256個以上の項目を利用する場合には、以下の環境変数を設定する必要があります。
RN_MSSQLSERVER_COLUMNS=ALL |
項目単位にSELECT権限を与えている場合、この環境変数を指定する際には、以下の注意が必要です。
SELECT権が与えられていない項目も含めて辞書に登録されます。そのため、SELECT権限を与えていない項目に対してはNavigatorの公開/非公開機能を利用して非公開に設定してください。
SELECT権が与えられていない項目を使用して問い合わせを行った場合、DBMSでSELECT権のない旨のエラーとなります。
名称
スキーマ名、テーブル名、項目名の名称規則
スキーマ名、テーブル名、および項目名として使用できる名称は、半角文字だけ、または全角文字だけの名称です。使用できる名称の規則を、以下に示します。
半角文字だけの名称
以下の半角文字だけを使用した名称です。
英大文字
英小文字
数字
アンダースコア「_」
シャープ「#」
ただし、1文字目が数字の名称は、使用できません。
全角文字だけの名称
全角文字だけを使用した名称です。
データベース名の名称規則
データベース名として使用できる名称は、以下の文字を使用した名称です。
英大文字
英小文字
数字
アンダースコア「_」
シャープ「#」
アットマーク「@」
ただし、1文字目が数字、またはアットマークの名称は、使用できません。
スキーマ名、テーブル名、項目名の名称規則
以下に示す名称は、スキーマ名、テーブル名、および項目名として使用できません。
Navigatorの予約語と同じ名称
半角のKVRで始まる名称
半角カタカナを含む名称
データベース名の名称規則
以下に示す名称は、データベース名として使用できません。
SQL Serverの予約語と同じ名称
カッコ([と])で囲まなければ正しく扱えない文字を含む名称
例)ハイフン「-」
その他の注意事項
Navigator辞書管理ツールのスキーマの追加、およびテーブルの追加の一覧には、Navigatorで使用できない名称の資源も表示されますが、選択しないでください。
テーブルの項目名に使用できない名称が含まれる場合、そのテーブルは使用できません。
ユーザに必要な権限は、アクセスするテーブルへのSELECT権です。
SQL Serverのテーブルと、他のDBMSのテーブルの結合はできません。
smallmoneyとmoneyのデータは、小数点以下2桁に丸められます。
精度が18桁を超える数値型の項目は、管理ポイントに使用できません。
Navigatorサーバから接続できるSQL Serverのインスタンスは、既定のインスタンス(名前のないデフォルトインスタンス)に限られます。名前付きのインスタンスには接続できません。
Navigatorから利用可能なデータベース名、ログイン名、スキーマ名(ユーザ名)、テーブル名、項目名の長さは、30バイトまでです。
30バイトを超える長さのデータベース名、スキーマ名、テーブル名、および項目は、Navigatorで利用できません。30バイトを超える長さのデータベース名、スキーマ名、テーブル名、および項目名は、Navigator辞書管理ツールでは表示されません。
SQL Serverでは、スキーマ名とユーザ名は同じです。
SQLクライアント設定ユーティリティの「DBLibrary設定」で、「ANSIからOEMへ自動変換」がチェックされていることが必要です。
NavigatorでSQL Serverを利用する場合、SQL Serverの並べ替え順は、「バイナリ順」に設定する必要があります。
SQL Server 7.0の新規インストール時の初期設定は、「辞書順、大文字小文字を区別しない」となっておりますので、セットアップの種類に「カスタム」を選択し、並べ替え順を「バイナリ順」に設定にしてください。
この設定をしないで使用すると、正しい集計結果が得られない場合があります。
詳細は、SQL Server 7.0のオンラインマニュアルを参照してください。
NavigatorでSQL Serverを使用する場合、取り扱うことのできる文字列の文字列長は255バイトまでです。Navigatorで文字演算項目を定義した場合、演算結果が255バイトを超えるデータは255バイトに切りつめられます。
char型やvarchar型で255バイトを超えるデータを使用する場合、データは255バイトに切りつめられます。
Navigatorから利用可能なデータベース名、ログイン名、スキーマ名(ユーザ名)、テーブル名、項目名の長さは30バイトまでです。
30バイトを超える長さのデータベース名、スキーマ名、テーブル名、および項目はNavigatorで利用できません。30バイトを超える長さのデータベース名、スキーマ名、テーブル名、および項目名は、Navigator辞書管理ツールでは表示されません。
SQL Serverでは、スキーマ名とユーザ名は同じです。
SQLクライアント設定ユーティリティの「DBLibrary設定」で、「ANSIからOEMへ自動変換」がチェックされていることが必要です。
Navigator ServerでSQL Server 2000を利用する場合、SQL Server 2000の照合順序に注意する必要があります。
Navigatorがサポートする照合順序は、"Japanese_BIN(Japanese バイナリ)"だけです。
SQL Server 2000を、カスタムモード以外の方法で新規にインストールした場合、インスタンスの照合順序は、「Japanese_BIN(Japanese バイナリ)」にならないので注意が必要です。
SQL Server 2000ではインスタンス、データベース、テーブル(項目)単位での照合順序の指定を行うことができます。しかし、Navigatorサーバから使用するインスタンスは、これらすべてが「Japanese_BIN(Japanese バイナリ)」である必要があります。
NavigatorでSQL Serverを使用する場合、取り扱うことのできる文字列の文字列長は、255バイトまでです。Navigatorで文字演算項目を定義した場合、演算結果が255バイトを超えるデータは255バイトに切りつめられます。
char型やvarchar型で255バイトを超えるデータを使用する場合、データは255バイトに切りつめられます。
Navigatorから利用可能なデータベース名、ログイン名、スキーマ名(ユーザ名)、テーブル名、項目名の長さは36バイトまでです。
36バイトを超える長さのデータベース名、スキーマ名、テーブル名、および項目はNavigatorで利用できません。36バイトを超える長さのデータベース名、スキーマ名、テーブル名、および項目名は、Navigator辞書管理ツールでは表示されません。
SQL Server 2005以降を利用する場合、SQL Serverの照合順序に注意する必要があります。
Navigatorがサポートする照合順序は、「Japanese_BIN(Japanese バイナリ)」だけです。
SQL Serverを、カスタムモード以外の方法で新規にインストールした場合、インスタンスの照合順序は、「Japanese_BIN(Japanese バイナリ)」にならないので注意が必要です。
SQL Serverでは、インスタンス、データベース、テーブル(項目)単位での照合順序の指定を行うことができます。しかし、Navigatorサーバから使用するインスタンスは、これらすべてが「Japanese_BIN(Japanese バイナリ)」である必要があります。
Navigatorの辞書のセットアップを行う前に事前に辞書用スキーマを作成しておく必要があります。辞書用スキーマ名は、辞書用ユーザ名と同じ名前で作成します。
日時時刻型の形式(datetimeおよびsmalldatetime)がSQL Server 7/2000から変更されました。SQL Server 7/2000からSQL Serverの環境に辞書を移行する場合は、注意が必要です。詳細は、“Navigator Server 管理者ガイド(辞書管理ツール)”を参照してください。