標籤:
定義資料庫連接屬性:
static String diverName="oracle.jdbc.driver.OracleDriver";static String url = "jdbc:oracle:thin:@192.168.90.11:1521:ucap";static String user="armyoa73015";static String pwd = "armyoa73015";
1. 執行的方法(依賴ant.jar):
static String fileName = "D:\\workspace\\huzhou\\jd-txt73015\\sql\\f_xxyr_xlcjdj.sql";public static void runSqlFile(){SQLExec sqlExec = new SQLExec();sqlExec.setDriver(diverName);sqlExec.setUrl(url);sqlExec.setUserid(user);sqlExec.setPassword(pwd);sqlExec.setSrc(new File(fileName));sqlExec.setEncoding("GBK");DelimiterType dt = new DelimiterType();dt.setValue("row");sqlExec.setDelimiterType(dt);sqlExec.setDelimiter("/");sqlExec.setKeepformat(true);sqlExec.setProject(new Project());sqlExec.execute();}
2. 執行的方法(依賴mybatis-3.0.6.jar):
public static void runSqlFile1(){try {Class.forName(diverName);Connection conn = DriverManager.getConnection(url, user, pwd);ScriptRunner runner = new ScriptRunner(conn);runner.setAutoCommit(true);File file = new File(fileName);try {if (file.getName().endsWith(".sql")) {runner.setFullLineDelimiter(true);runner.setDelimiter("##");runner.setSendFullScript(false);runner.setAutoCommit(true);runner.setStopOnError(true);runner.runScript(new InputStreamReader(new FileInputStream(fileName),"GBK"));}}catch(Exception e){e.printStackTrace();}conn.close();} catch (SQLException e) {e.printStackTrace();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
註:此方法執行後,預存程序、觸發器、函數、包會處於無效狀態。原因未知???
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
java 執行Sql檔案