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