Java执行上传的sql脚本文件

开始通过java执行cmd的方式调用sqlplus执行sql文件,但是后来发现一旦进入sqlplus,脚本执行完后就会一直等待而不关闭。后为了方便改成调用ant的SQLExec类提供的实现进行sql脚本的执行。原始代码如下,我是通过前端上传sql脚本文件后台服务端进行执行:

    SQLExec sqlExec = new SQLExec();
    //设置数据库参数
    sqlExec.setDriver("oracle.jdbc.driver.OracleDriver");
    sqlExec.setUrl("jdbc:oracle:thin:@192.168.5.110:1521:tcis3");
    sqlExec.setUserid("bam30");
    sqlExec.setPassword("bam30");
    sqlExec.setSrc(new File("d:\\test.sql"));
    //sqlExec.setOnerror((SQLExec.OnError)(EnumeratedAttribute.getInstance(SQLExec.OnError.class, "abort")));
    sqlExec.setPrint(true); //设置是否输出
    //输出到文件 sql.out 中;不设置该属性,默认输出到控制台
    sqlExec.setOutput(new File("d:/sql.log"));
    sqlExec.setProject(new Project()); // 要指定这个属性,不然会出错
    sqlExec.execute();

通过以上代码就会执行sql脚本了。为了简单起见,我对异常的捕获是通过try  catch来做的,没有走异常流,然后再catch中将错误信息进行捕捉然后返回,具体代码就不列举了。主要是sql脚本的执行,通过对比,个人觉得这种方式效率也不错,更重要的是避免了因为平台的问题导致的java调用cmd失效等问题。

时间: 2024-11-08 23:42:12

Java执行上传的sql脚本文件的相关文章

oracle下如何执行一个本地的.sql脚本文件

分析: 我们通常在开发过程中会遇到很多程序修改或者批量修改数据的时候,会选择脚本的文件的形式通过命令来执行,那么怎么用plsql或者sqlplus执行sql脚本文件呢? 说明: 如果说现在在c盘盘符下放置了一个我们需要执行的create.sql脚本文件,如果说用sqlplus去执行这个脚本文件: 1.进入到运行命令窗口. 2.登录sqlplus connect username/[email protected]; 3.提示数据库连接成功后,执行脚本文件 @'c:\create.sql';或者

MySQL执行外部sql脚本文件的命令

进入mysql的控制台后,使用source命令执行 Mysql>source [sql脚本文件的路径全名] 或 Mysql>\. [sql脚本文件的路径全名], 示例:source d:\test\ss.sql 或者 \. d:\test\ss.sql

创建包含sql命令的sql脚本文件

sql脚本是包含一到多个sql命令的sql语句,我们可以将这些sql脚本放在一个文本文件中(我们称之为“sql脚本文件”),然后通过相关的命令执行这个sql脚本文件.基本步骤如下: 1.创建包含sql命令的sql脚本文件 文件中包含一些列的sql语句,每条语句最后以;结尾,文件内容示例如下: --创建表,使用“--”进行注释 create table 表名称 (                      Guid Varchar(38) not null primary key,     Tit

java程序执行SQL脚本文件

首先引入ibatis-common-2.jar包 import com.ibatis.common.jdbc.ScriptRunner; import com.ibatis.common.resources.Resources; jpetstore测试代码如下: package com.ibatis.jpetstore.test; import java.sql.DriverManager; import java.util.Properties; import com.ibatis.commo

Java执行SQL脚本文件到数据库

方式一:直接读取SQL脚本文件的内容,然后传递到SQL中. 代码:RunSqlService: @Autowired private RunSqlDao runSqlDao; /** * 读取文件内容到SQL中执行 * @param sqlPath SQL文件的路径:如:D:/TestProject/web/sql/脚本.Sql */ public void runSqlByReadFileContent(String sqlPath) throws Exception { try { Stri

windows7搭建ftp服务器与Java上传下载ftp服务器文件

1.Windows7搭建FTP服务器 1.1 首先新建一个用户,用于登录FTP进行操作,步骤:开始\控制面板\用户帐户和家庭安全\用户帐户\管理帐户\新建账户 1.2创建用户完成后我们开始添加IIS程序服务;进入控制面板\程序\打开或关闭Windows功能 然后点击打开在FTP服务器前面打勾,也就是把其子菜单的FTP服务和FTP扩展性打勾 1.3 创建FTP站点:进入控制面板\选择管理工具\信息服务管理器\添加站点 界面 下一步 下一步 1.4 查看FTP是否部署成功 完成FTP服务器的搭建.

Delphi 7 在程序中直接执行SQL脚本文件

Delphi 7 在程序中直接执行SQL脚本文件 在处理MSDE一些操作中.需要执行一些SQL脚本.有的是从SQLServer 2000中生成的SQL为后缀的脚本.在MSDE中没有企业管理器,操作都是在程序中完成的.所以用以下函数来执行SQL脚本. //执行一个SQL角本文件,文件只能是ANSI编码的.//如果文件是UNICODE编码的话,则会乱码.var  s:string;  sqltext : string;  sqlfile : TextFile;begin  if OpenDialog

文件上传漏洞演示脚本之js验证

文件上传漏洞演示脚本之js验证 0 0 716 关于文件上传漏洞,想必玩web安全的同学们都有接触,之前本站也发布过一篇文章介绍文件上传漏洞的各种绕过方法,但是只是有文档却没有演示代码,最近给公司一客户培训,就照文档中的绕过写出了相应的代码,方便我等小菜研究,此次的文章我会连续发几天都是关于如何绕过的,全都是科普文,很简单的,希望小伙伴们喜欢. 关于文件上传漏洞的文章 绕过文件上传验证 为什么文件上传表单是主要的安全威胁 js验证绕过演示代码 01 <?php 02 /** 03  * Crea

phpmyadmin上传大sql文件办法

进入php5文件夹下: cd /etc/php5/apache2 #根据你当时的配置选择,比如之前配置是apache2就进入apache2,如果是cli就进入cli文件夹下 打开php.ini文件 sudo gedit php.ini 查找upload 找到如下这一行: upload_max_filesize = 2M 修改后面的数值即可 一般修改为10M就够用了 phpmyadmin上传大sql文件办法