SQL Server コネクターのメッセージおよび制限事項

 

オペレーションについては「共通」(オペレーショントップページ)を参照してください。

SQLSERVERカテゴリのメッセージコード一覧

SQL Server Connectorで発生するエラーに対応するメッセージコードです。

 

SQLSERVER0000E

定義されていないエラーが発生した場合に出力されるメッセージコードです。

原因

対策

定義されていないエラーが発生しました。

エラーメッセージやエラーが発生した処理のヘルプなどを確認してください。

対応するエラー

  • 特になし

 

SQLSERVER0001E

データベース処理中のエラーに対応するメッセージコードです。

原因

対策

エラーメッセージにより、原因は異なります。

エラーメッセージを確認し、以下のことを行ってください。

  • 下記の「例外メッセージ」に対象のエラーの原因/対策が記述されていないかを確認してください。

  • 使用しているコネクターの制限事項に対象のエラーの原因/対策が記述されていないかを確認してください。

  • 接続先のデータベースのドキュメントなどに対象のエラーに関する情報がないか確認してください。

対応するエラー

  • java.sql.SQLException

  • com.microsoft.sqlserver.jdbc.SQLServerException

 

SQLSERVERカテゴリの例外メッセージ

例外名

原因

対策

InputDataNotFoundException

入力データが指定されていません。

入力データを指定する、またはデータフローを引いてください。

InvalidPropertyConfigurationException

<プロパティ名>が指定されていません。

<プロパティ名>が指定されていません。

<プロパティ名>を指定してください。

InvalidPropertyConfigurationException

SQL文が未設定です。

SQL文を指定してください。

InvalidPropertyConfigurationException

書き込み対象カラムが選択されていません。

スキーマ定義の書き込み対象が選択されていません。

スキーマ定義の書き込み対象を1つ以上選択してください。

InvalidPropertyConfigurationException

読み取り対象カラムが選択されていません。

スキーマ定義の読み取り対象が選択されていません。

スキーマ定義の読み取り対象を1つ以上選択してください。

InvalidPropertyConfigurationException

テーブル名が未設定です。

テーブル名を指定してください。

InvalidPropertyConfigurationException

プロシージャが未設定です。

プロシージャを指定してください。

java.sql.SQLException

データベースアクセスエラーまたはそのほかのエラーが発生しています。

SQLExceptionのメッセージを確認してください。SQLExceptionのメッセージは各ドライバの仕様に基づいています。SQLExceptionのメッセージにはエラーの原因が出力されている場合があります。

ResourceNotFoundException

リソース定義が見つかりませんでした。名前:[]

接続先が指定されていません。

接続先を指定してください。

ResourceNotFoundException

リソース定義が見つかりませんでした。名前:[<コネクションリソース名>]

接続先で選択されたリソース定義が見つかりません。

接続先で指定したコネクションリソースを確認してください。

com.microsoft.sqlserver.jdbc.SQLServerException

ユーザー '<ユーザー名>' はログインできませんでした。

ユーザー名またはパスワードが不正です。

コネクションリソースのユーザー名またはパスワードを確認してください。

このログインで要求されたデータベース "<データベース名>" を開けません。ログインに失敗しました。

データベースが不正です。

コネクションリソースのデータベース名を確認してください。

ホスト <ホスト名>、ポート <ポート番号> への TCP/IP 接続が失敗しました。

データベースに接続できません。

コネクションリソースのホスト名、またはネットワークを確認してください。

オブジェクト名 '<テーブル名>' が無効です。

テーブルが存在しません。

テーブル名で存在するテーブルを指定してください。

'<テーブル名>' 付近に不適切な構文があります。

テーブル名がTransact-SQLの標準識別子の規則にしたがっていない可能性があります。

テーブル名で指定したテーブルを、引用符で囲ってください。

 

SQLSERVERカテゴリの制限事項

 

サポートする型

本コネクターでサポートする型は以下のとおりです。

型名

サポート

備考

BIGINT型

○

 

INT型

○

 

SMALLINT型

○

 

TINYINT型

○

 

BIT型

○

 

NUMERIC型

○

 

DECIMAL型

○

 

MONEY型

○

 

SMALLMONEY型

○

 

FLOAT型

○

 

REAL型

○

 

TIME型

△

 

DATE型

○

 

SMALLDATETIME型

○

 

DATETIME型

△

 

DATETIME2型

△

 

DATETIMEOFFSET型

△

Stringとしてデータを扱います。

CHAR型

○

 

VARCHAR型

○

 

NCHAR型

○

 

NVARCHAR型

○

 

TEXT型

○

 

NTEXT型

○

 

BINARY型

△

 

VARBINARY型

△

 

IMAGE型

○

 

VARCHAR(MAX)型

○

 

NVARCHAR(MAX)型

○

 

VARBINARY(MAX)型

△

 

XML型

△

 

SQL_VARIANT型

×

 

UNIQUEIDENTIFIER型

×

 

  • ○:サポートします。

  • △:サポートしますが、制限事項があります。

  • ×:サポートしません。

= 補足 =

型による範囲やデータの丸めなどデータベースの仕様については、SQL Server 2019のドキュメントを参照してください。

 

全処理共通

仕様制限

  • 名前に以下の文字を含むデータベースに接続することはできません。また、これ以外の文字でも、データベース名に含めると接続できなくなる場合があります。

    = 備考 =

    データはUnicodeとして送信されます。

    詳細については、データベースベンダーに問い合わせてください。

    文字

    -

    %

    &

    (

    )

    =

    [

    ]

    {

    }

    '

    ^

    ;

 

テーブル読み取り処理

仕様制限

  • テーブル一覧の表示について

    • dboスキーマ以外のスキーマに存在しているテーブルは、「<スキーマ名>.<テーブル名>」と表示されます。

  • TIME型

    • ミリ秒まで取得することができます。

  • DATETIME2型

    • ミリ秒まで取得することができます。

  • テーブル名が引用符で囲われた状態でもテーブル名の大文字小文字は区別しません。

 

検索系SQL実行処理

仕様制限

  • TIME型

    • ミリ秒まで取得することができます。

  • DATETIME型

    • WHERE句にSQLパラメータを使用していて、ミリ秒まであるDATETIME型の値を代入する場合、比較演算子などで正確に判定されません。

      ただし、この事象は、Mapperで値を"yyyy-MM-dd HH:mm:ss.SSS"形式の文字列に変換し、SQLパラメータの型をVARCHAR型へ変更することで回避できます。

  • DATETIME2型

    • ミリ秒まで取得することができます。

 

テーブル書き込み処理

仕様制限

  • テーブル一覧の表示について

    • dboスキーマ以外のスキーマに存在しているテーブルは、「<スキーマ名>.<テーブル名>」と表示されます。

  • TIME型

    • ミリ秒まで指定することができます。

  • DATETIME2型

    • ミリ秒まで指定することができます。

  • テーブル名が引用符で囲われた状態でもテーブル名の大文字小文字は区別しません。

 

更新系SQL実行処理

仕様制限

  • TIME型

    • SQLパラメータを使用する場合、ミリ秒まで指定することができます。

  • DATETIME型

    • WHERE句にSQLパラメータを使用していて、ミリ秒まであるDATETIME型の値を代入する場合、比較演算子などで正確に判定されません。

      ただし、この事象は、Mapperで値を"yyyy-MM-dd HH:mm:ss.SSS"形式の文字列に変換し、SQLパラメータの型をVARCHAR型へ変更することで回避できます。

  • DATETIME2型

    • SQLパラメータを使用する場合、ミリ秒まで指定することができます。

 

ストアドプロシージャ実行処理

仕様制限

  • TIME型

    • 入力パラメータは、ミリ秒まで指定することができます。

    • 出力パラメータは、ミリ秒まで取得することができます。

  • DATETIME2型

    • 入力パラメータは、ミリ秒まで指定することができます。

    • 出力パラメータは、ミリ秒まで取得することができます。

  • XML型

    • プロシージャの引数にXML型が含まれている場合、実行できません。

  • SQL_VARIANT型

    • プロシージャの引数にSQL_VARIANT型が含まれている場合、実行できません。

  • UNIQUEIDENTIFIER型

    • プロシージャの引数にUNIQUEIDENTIFIER型が含まれている場合、実行できません。

  • 名前を引用符で囲う必要があるプロシージャは使用できない場合があります。

  • 出力パラメータを使用するプロシージャを指定した場合、入力パラメータ設定にも出力パラメータと同様のパラメータが表示され、入力データが必要になります。

 

 

SQLウィザード(検索系)

仕様制限

  • データベース上のスキーマ名やテーブル名に「.」が含まれるテーブルを扱うことはできません。

  • 結果データの量が大きいと、テスト実行に失敗する場合があります。

  • [実行結果]タブに表示されるレコード件数は最大100件です。

  • 存在しないテーブルがSQL文に含まれる場合、SQL文の再編集を行うことができません。

SQLウィザード(更新系)

仕様制限

  • コネクションリソースがXAリソースの場合、テスト実行をすることはできません。

  • データベース上のスキーマ名やテーブル名に「.」が含まれるテーブルを扱うことはできません。

  • 存在しないテーブルがSQL文に含まれる場合、SQL文の再編集を行うことができません。

  • JDBC Connectorのコネクションリソースで、[トランザクション処理を行う]のチェックを外した場合、テスト実行時にロールバックが行われず、データが更新されます。