JDBC与CMD方式执行MySQL文件
来源:互联网 发布:如何看待网络暴力现象 编辑:程序博客网 时间:2024/06/08 19:08
//执行SQL语句private boolean batchExecuteSql(String url, String user, String password, String driver, String path ,String[] sqlfiles){try {String splitStr="";if (url.contains("jdbc:sqlserver://")){splitStr = "go --------------------------";} else {splitStr = "-- --------------------------";}Class.forName(driver);Connection conn = DriverManager.getConnection(url, user, password);Statement statement = conn.createStatement();//循环执行sqlfor(int i=0;i<sqlfiles.length;i++){StringBuffer sql = new StringBuffer();readSqlFileAsStream(path + sqlfiles[i], sql);String [] sqls = sql.toString().split(splitStr);for (int j = 0; j < sqls.length; j++) {statement.execute(sqls[j]);}}if(statement != null){statement.close() ; } if(conn != null){conn.close() ; }return true;} catch (Exception e) { logger.error("Execute SQL Error",e);return false;}}
来看读取一个模块的操作
//按照流的方式读取sql文件private void readSqlFileAsStream(String filePath, StringBuffer sql){try {InputStream is = NMS.class.getResourceAsStream(filePath);InputStreamReader read = new InputStreamReader (is,"UTF-8");BufferedReader reader = new BufferedReader(read);String str;while ((str = reader.readLine()) != null) {byte [] strByte = str.getBytes();String newStr = new String(strByte);sql.append(newStr);}reader.close();} catch (Exception e) {logger.error("Read SQL File Error",e);}}
使用JDBC的方式并不支持delimiter声明等方式。
在使用CMD执行MySQL还原的命令时,遇到 一个问题,最后排查是由于MyEclipse缓存导致启动的是另外一个CMD,如下测试:
Process proc2 = Runtime.getRuntime().exec("cmd /c echo %PATH%");可以看到与PATH环境变量的配置不一致,导致报错。
0 0
- JDBC与CMD方式执行MySQL文件
- cmd命令方式导入mysql文件
- cmd命令执行mysql
- cmd 执行文件快捷键
- cmd执行exe文件
- cmd编译执行java文件出现java.lang.ClassNotFound Exception:com.microsoft.sqlserver.jdbc.SQLServerDriver
- JDBC编程步骤与执行SQL语句的方式
- cmd 执行java Class 文件
- 关于java执行cmd文件
- JDBC连接MySql方式
- JDBC方式连接mysql
- JDBC方式链接MySQL
- Java CMD方式编译并执行带包路径的Java文件
- js文件引用方式及其同步执行与异步执行
- cmd.exe命令行方式执行matlab代码
- cmd 命令行方式执行 matlab 脚本
- .net 执行多条cmd 命令方法与大批量CSV文件合并成一个文件方法
- GEL文件与CMD文件
- 坦诚相待
- Android创建标签页的两种方式
- make 伪目标
- 黑马程序员_Java异常处理
- 最小堆与最大堆的实现
- JDBC与CMD方式执行MySQL文件
- Z0-851-Oracle认证专家,Java SE 6的程序员考试
- epoll的LT和ET模式
- 经纬财富:南康ADP数据过后,金银动向解析
- 同一个事务里 查询 已删除但是未提交的数据[bug记录]
- 给导航栏添加停留样式
- Android中fill_parent与match_parent的区别
- win下mysql安装
- 黑马程序员_面向对象