- import java.awt.*;
- import java.awt.event.*;
- import java.awt.datatransfer.*;
- import java.io.*;
- import java.util.Map;
- public class AutoConfigOracle {
- private static Clipboard clipboard;
- private static Transferable tText;
- private static Robot r;
- public static void main(String[] args) {
- clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
- try {
- r = new Robot();
- startup(2000, "C:\\\\oracle\\\\ora92\\\\bin\\\\oemapp.bat", "console");
- r.keyPress(KeyEvent.VK_ENTER);
- r.keyRelease(KeyEvent.VK_ENTER);
- try {
- Thread.sleep(4000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- addDatabase("192.168.6.31", "huapu", "SSS1");
- if (true)
- return;
- close();
- try {
- Runtime.getRuntime().exec(
- "net start OracleORA_HOME_92TNSListener");
- } catch (IOException e) {
- e.printStackTrace();
- }
- try {
- Thread.sleep(8000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- try {
- Runtime.getRuntime().exec("net start OracleServiceHUAPU");
- } catch (IOException e) {
- e.printStackTrace();
- }
- try {
- Thread.sleep(8000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- try {
- Runtime
- .getRuntime()
- .exec(
- "C:\\\\oracle\\\\ora92\\\\bin\\\\launch.exe \\"C:\\\\oracle\\\\ora92\\\\network\\\\tools\\" ..\\\\network\\\\tools\\\\netmgr.cl");
- } catch (IOException e) {
- e.printStackTrace();
- }
- r.keyPress(KeyEvent.VK_DOWN);
- r.keyRelease(KeyEvent.VK_DOWN);
- r.keyPress(KeyEvent.VK_RIGHT);
- r.keyRelease(KeyEvent.VK_RIGHT);
- r.keyPress(KeyEvent.VK_DOWN);
- r.keyRelease(KeyEvent.VK_DOWN);
- r.keyPress(KeyEvent.VK_DOWN);
- r.keyRelease(KeyEvent.VK_DOWN);
- r.keyPress(KeyEvent.VK_RIGHT);
- r.keyRelease(KeyEvent.VK_RIGHT);
- r.keyPress(KeyEvent.VK_DOWN);
- r.keyRelease(KeyEvent.VK_DOWN);
- r.keyPress(KeyEvent.VK_DOWN);
- r.keyRelease(KeyEvent.VK_DOWN);
- } catch (AWTException e) {
- e.printStackTrace();
- }
- }
- private static void addDatabase(String ip, String SID, String NetService) {
- r.keyPress(KeyEvent.VK_ALT);
- r.keyRelease(KeyEvent.VK_ALT);
- r.keyPress(KeyEvent.VK_N);
- r.keyRelease(KeyEvent.VK_N);
- r.keyPress(KeyEvent.VK_A);
- r.keyRelease(KeyEvent.VK_A);
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- sayText(ip);
- r.keyPress(KeyEvent.VK_TAB);
- r.keyRelease(KeyEvent.VK_TAB);
- r.keyPress(KeyEvent.VK_TAB);
- r.keyRelease(KeyEvent.VK_TAB);
- sayText(SID);
- r.keyPress(KeyEvent.VK_TAB);
- r.keyRelease(KeyEvent.VK_TAB);
- for (int i = 0; i < 20; i++) {
- r.keyPress(KeyEvent.VK_DELETE);
- r.keyRelease(KeyEvent.VK_DELETE);
- }
- if (true)
- return;
- sayText(NetService);
- r.keyPress(KeyEvent.VK_ENTER);
- r.keyRelease(KeyEvent.VK_ENTER);
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- private static void sayText(String text) {
- tText = new StringSelection(text);
- clipboard.setContents(tText, null);
- r.keyPress(KeyEvent.VK_CONTROL);
- r.keyPress(KeyEvent.VK_V);
- r.keyRelease(KeyEvent.VK_V);
- r.keyRelease(KeyEvent.VK_CONTROL);
- }
- private static void close() {
- r.keyPress(KeyEvent.VK_ALT);
- r.keyPress(KeyEvent.VK_F4);
- r.keyRelease(KeyEvent.VK_F4);
- r.keyRelease(KeyEvent.VK_ALT);
- }
- private static void startup(int delay, String path, String args) {
- ProcessBuilder pb = new ProcessBuilder(path, args);
- pb.directory(new File("C:\\\\oracle\\\\ora92\\\\bin"));
- try {
- pb.start();
- } catch (IOException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- try {
- Thread.sleep(delay);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/101220137890.html
来源: http://www.codesnippet.cn/detail/101220137890.html