Skip to main content

sqlplus used in perl

sqlplus is a command line tool used to work with an Oracle database.

#!/bin/perl
my $sqlString ='sqlplus -s user/pass@SID << END
set heading off
set echo off
set feedback off
set pagesize 0';

$sqlString = "$sqlString\nSELECT 'test' FROM dual;";

my $result; = `$sqlString`;

print $result;
usage: sqlplus [-s] user/pass@SID
-s parameter enables a silent mode. Only result of statement executions will be returned to a standard output (data like 'SQL>' prompt or a connection confirmation will be skipped)

To disable a default human-redable format of returned data the following parameters are set: heading, echo, feedback, pagesize.

Comments

Popular posts from this blog

ShutDownHook - the last breath of an application

ShutDownHook allows you to perform operations (e.g. close opened resources, remove temporary files and so on) just before virtual machine shuts down. A documentation says that JVM may shut down in two cases: program finishes execution normally when all threads finishes their work (except deamon-threads like garbage collector) virtual machine receives a termination signal (for example after sending kill signal under unix or ctrl + C key combination under windows) Below is an example which will start endless loop which do nothing. But an important thing in this code is a part where shutDownHook is added. When an termination signal will be send to JVM a code from a run() method will be executed just before JVM shuts down. public class ShutDownHook { public static void main(String[] args) { Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { System.out.println("Close opened resources"); } }); while (true) { // do nothing } } }

Convert Source to String

import java.io.BufferedReader; import java.io.IOException; import java.io.Reader; import java.io.StringReader; import javax.xml.transform.Source; import javax.xml.transform.sax.SAXSource; import org.xml.sax.InputSource; public class DataSourceTest { public static void main(String[] args) throws IOException { // created Source InputSource inputSource = new InputSource(new StringReader( " \n \n \n ")); Source source = new SAXSource(inputSource); // read Source SAXSource saxSource = (SAXSource) source; InputSource inputSourceReader = saxSource.getInputSource(); Reader reader = inputSourceReader.getCharacterStream(); BufferedReader buffereRreader = new BufferedReader(reader); String read = null; while ((read = buffereRreader.readLine()) != null) { System.out.println(read); } } }

Logger java

Logger class import java.io.IOException; import java.util.logging.FileHandler; import java.util.logging.Formatter; import java.util.logging.Handler; import java.util.logging.Level; import java.util.logging.Logger; import java.util.logging.SimpleFormatter; public class TestLogger { public static void main(String args[]) { try { // 2012-11-08 10:01:32 TestLogger main\nWARNING: Some problem Formatter formatter = new SimpleFormatter(); // 2012-11-08 10:14:42 WARNING: TestLogger.main Some problem // Formatter formatter = new MyFormatter(); // boolean flag specifies append mode Handler handler = new FileHandler("MyLogFile.log", true); handler.setFormatter(formatter); Logger logger = Logger.getLogger("MyLoggerName"); logger.addHandler(handler); // Message with level lower will be discarded logger.setLevel(Level.ALL); // Log a message logger.log(Level.WARNING, "Some problem"); } catch (SecurityException e) { ...