Sto cercando di utilizzare il following Fastload APIChe cos'è IllegalStateException?
connessione ... ecc è perfetto.
so esattamente dove non riesce
...........
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
...........
eccezione è
Exception in thread "main" java.lang.IllegalStateException: Sample failed.
[ODBC Teradata Driver] Invalid precision: cbColDef value out of range
Qui è la mia tabella che sto cercando di caricare. Si tratta di un formato .csv
e quando l'ho aperto con blocco note apparire come questo
1,9,Win
2,9,Winc
3,9,Wi
Perché ricevo questa eccezione? Come posso migliorarlo? Per quanto ne so il problema è pstmtFld.setAsciiStream(1, dataStream, -1);
non accetta il set di dati in qualche modo e genera un'eccezione
Generalmente lancio un 'IllegalStateException' ogni volta che prendo qualcosa che "non può mai accadere" e non c'è altro tipo di eccezioni più descrittivo che posso lanciare. Ad esempio, supponiamo che scrivo codice per visualizzare un'immagine e che l'immagine abbia una larghezza negativa, lanciando qualcos'altro sarebbe peggio, quindi posso scrivere la mia eccezione non controllata (pratica consigliata, ma potresti considerare di fare un'eccezione controllata invece), o usare quello incorporato 'IllegalStateException'. – tucuxi
Secondo http://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html#setAsciiStream%28int,%20java.io.InputStream,%20int%29, è possibile che il la lunghezza del file (-1) sta causando questo? – Lopina