I use a class code with a PostgreSQL JDBC driver and an external class to use the SQL script file. It works as expected, but output has a disturbed java.lang.NullPointerException it often appears as number lines in the SQL file.
import java.sql. *; Import java.io.buffferedReader; Import java.io.fileReader; Public class Connect Postgrescable {public static zero main (string [] argv) {System.out.println ("checking whether the driver is registered with the driver manager."); Try {class.forName ("org.postgresql.Driver"); } Catch (Clonautfound Express CNF) {System.out.println ("Driver could not be found!"); System.out.println ("Print a stack trace, and exit."); Cnfe.printStackTrace (); System.exit (1); } System.out.println ("The registered driver is fine, we make a connection."); Connection c = null; Try {c = DriverManager.getConnection ("jdbc: postgresql: // localhost: 5432 / postgrad", "postgrad", "passroot"); } Hold (from SQLException) {System.out.println ("Could not connect: print a stack and exit"); Se.printStackTrace (); System.exit (1); } System.out.println ("hooray! We are connected to postgresql database!"); Long start = System.currentTimeMillis (); System.out.println ("==> temps de dap: part:" + start); ScriptRunner runner = new ScriptRunner (c, false, false); {Runner.runScript (new BufferedReader (new FileReader ( "C: Try /ScriptSQL/create.sql")) or;} catch (Exception e) {e.printStackTrace ();} long end = SystemkcurrentTimeMillis (); System.out.println ( "== & gt; Temps d'arrivĂ © e:" + end); float time = ((float) (end-start)) / 1000f; System.out.println ( "Tempes D Express : "+ Time +" seconds ");}} Output: Checking whether the Driver DriverManager Registered with the correct driver, then we make a connection. Hooray! We are connected to the PostgreSQL database! == & gt; T Ps de da © part: 1300311132808 java.lang.NullPointerException ScriptRunner.runScript (ScriptRunner.java:209) ScriptRunner.runScript (ScriptRunner.java:110) on JavaklangkNullPointerException on ConnectPostgreSQL.main (ConnectPostgreSQL.java:36) ScriptRunner.runScript (ScriptRunner.java:209) on ScriptRunner.runScript (ScriptRunner.java:110) on ConnectPostgreSQL.main (ConnectPostgreSQL.java:36) on java.lang.NullPointerException at ScriptRunner.runScript (ScriptRunner.java:209) on ScriptRunner.runScript (ScriptRunner.java:110) ConnectPostgreSQL.main (ConnectPostgreSQL.java:36) java.lang.NullPointerException (ScriptRunner.java:110) on ConnectPostgreSQL on ScriptRunner.runScript on ScriptRunner.runScript (ScriptRunner.java:209) Main (ConnectPostgreSQL.java36) CREATE TABLE TEST123 (put an integer, VARCHAR (50) B, C VARCHAR (50)) TEST123 value A. (1, 'Riri', 'tick') into TEST123 values (2, 'to join FIFA, "TAC") test 123 values (3,' Lolu 'TOC') == & gt; Temps d'Arriva © E: 1300311132938 Temps d'EXA © cution: 0.13 sec I do not even get to get rid of these lines. : '(Somebody can help me, please?)
I believe this A bug may be ScriptRunner object. In line 209 it assumes that rs is not zero (although it is already checking that rs is actually empty). My change will be: << / P> try {if (rs! = Null) rs.close ();} hold (exception e) {e.printStackTrace ();} try {if (statement! = Null) statement.close ();} catch (exception e) {e.printStackTrace ();} My guess would be that the problem CREATE TABLE statements like Or INSERT , while it is not for SELECT s, is it correct?
Comments
Post a Comment