1. ホーム
  2. java

[解決済み] IllegalStateExceptionとは何ですか?

2022-03-07 08:43:33

質問

を使おうとしています。 以下のFastload API

connection ... などは完璧です。


どこで失敗しているかはよく分かっています

 ...........
 System.out.println(" Streaming " + dataFile);
 pstmtFld.setAsciiStream(1, dataStream, -1); // This line fails
 System.out.println("check the above line"); // This does not go to console
 ...........

例外は

Exception in thread "main" java.lang.IllegalStateException: Sample failed.

[ODBC Teradata Driver] Invalid precision: cbColDef value out of range


ここに私がアップロードしようとしているテーブルがあります。これは .csv の形式で、メモ帳で開くと次のようになります。

1,9,Win
2,9,Winc
3,9,Wi

なぜこのような例外が発生するのでしょうか?どうすれば改善されますか?私が理解する限り、この問題は pstmtFld.setAsciiStream(1, dataStream, -1); が何らかの理由でデータセットを受け付けず、例外をスローします。

解決方法は?

通常は IllegalStateException は、メソッドが不正または不適切な時間に呼び出されたことを示すために使用されます。

リンク先のコードでは、以下のように投げられることがあります。 そのコード内で をダンプした後でなければなりません。 SQLException を標準出力に出力しています。

この例外を見ただけでは何が問題なのかわかりませんし、よりよいコードであれば、オリジナルの SQLException を例外の原因とする (あるいは元の例外をスタック上に伝播させる) こともできますが、標準出力でより多くの詳細を確認することができるようになるはずです。その情報を見て、何が例外を引き起こしたのかがわかり、それを修正することができるはずです。