Forum Stats

  • 3,758,942 Users
  • 2,251,479 Discussions
  • 7,870,440 Comments

Discussions

Developing / debugging SQLcl javascript in Netbeans

ptfl
ptfl Member Posts: 33
edited May 21, 2018 9:48AM in SQLcl

Apologies if this is too unrelated to SQLcl.

I have been attempting to set up Netbeans on Windows 7 to develop SQLcl javascript scrips to take advantage of the ability to debug the code (Netbeans 8.2; SQLcl 18.1.1).

I did my best to follow the instructions at these two links, and I have this working, 'sort of'.

Initially, I was able to get 'util' and 'sqlcl' functions / methods to work, but the code would fail with the below error when trying to do a 'myConnection.ctx.write("Any value in here \n");'

Error:

Exception in thread "main" java.lang.NullPointerException

at oracle.dbtools.raptor.newscriptrunner.ScriptRunnerContext.write(ScriptRunnerContext.java:840)

While trolling through Google for anything that might help, I happened on a page that seemed somewhat unrelated that suggested putting these lines ahead of the attempt to myConnection.ctx.write():

myConnection.sqlcl.setStmt("set encoding UTF-8");

myConnection.sqlcl.run();

And this worked -- suddenly my 'myConnection.ctx.write()' calls are not generating an error and are appearing in the output...EXCEPT...

...if I execute an sqlcl call that returns rows, it appears no subsequent attempts to execute 'myConnection.ctx.write()' calls will put anything into the output. e.g., from the example:

myConnection.sqlcl.setStmt("select table_name from user_tables where rownum < 4; \n");

myConnection.sqlcl.run();

From those lines onward, no attempt to write output via the myConnection.ctx object will be visible.

I can't find anywhere if this is a known problem, and I also am not sure where (or if) this functionality in Netbeans is being maintained, since I don't experience this problem when I run the same code through SQLcl.

Appreciate any suggestions of who / where to ask.

ptfl

Answers