Last active
April 7, 2017 18:18
-
-
Save krisrice/c7f91135c7708865df78f98ff07e489f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// declare the 2 java files needed | |
var DriverManager = Java.type("java.sql.DriverManager"); | |
var ScriptExecutor = Java.type("oracle.dbtools.raptor.newscriptrunner.ScriptExecutor"); | |
var BufferedOutputStream = Java.type("java.io.BufferedOutputStream") | |
var ByteArrayOutputStream = Java.type("java.io.ByteArrayOutputStream") | |
var String = Java.type("java.lang.String") | |
var BGsql=""; | |
for(var i=1;i<args.length;i++){ | |
BGsql = BGsql + " " + args[i]; | |
} | |
runme(BGsql); | |
// | |
// running the actual sql | |
// | |
function main(arg){ | |
function inner(){ | |
// make a new connect | |
var conn2 = ctx.cloneCLIConnection(); | |
var sqlcl2 = new ScriptExecutor(conn2); | |
// make the outstream to write to | |
var bout = new ByteArrayOutputStream(); | |
var out2 = new BufferedOutputStream(bout); | |
// set the stream | |
sqlcl2.setOut(out2); | |
sqlcl2.setStmt(arg); | |
// run it | |
sqlcl2.run(); | |
conn2.close(); | |
// flush it | |
out2.flush(); | |
// get the output as a string | |
var output = (new String(bout.toByteArray())).replaceAll(" force_print\n" ,""); | |
ctx.write("GOT> "+ output.length() +">>>>>" + output + "<<<<<<\n\n"); | |
} | |
return inner; | |
}; | |
// make a thread and start it up | |
// runs later | |
function runme(arg){ | |
// import and alias Java Thread and Runnable classes | |
var Thread = Java.type("java.lang.Thread"); | |
var Runnable = Java.type("java.lang.Runnable"); | |
// declare our thread | |
this.thread = new Thread(new Runnable(){ | |
run: main(arg) | |
}); | |
// start our thread | |
this.thread.start(); | |
return; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment