今天做了一个用java导入sql脚本的功能,前台上传一个sql文件,后台先保存本地,然后进行导入。主要代码如下:String cmd = "cmd /c sqlplus usr/pwd@{//服务器IP:1521/}sid @d:\\1.sql>d:\\t.log";
Process p = null;
try {
p = Runtime.getRuntime().exec(cmd);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (p != null) {
try {
p.waitFor();
} catch (InterruptedException e) ...
代码:RunSqlService: @Autowiredprivate RunSqlDao runSqlDao;/*** 读取文件内容到SQL中执行* @param sqlPath SQL文件的路径:如:D:/TestProject/web/sql/脚本.Sql*/public void runSqlByReadFileContent(String sqlPath) throws Exception {try {String sqlStr = readFileByLines(sqlPath);// System.out.println("获得的文本:" + sqlStr);if (sqlStr.length() > 0) {runSqlDao.runSqlBySqlStr(sqlStr);}} catch (Exceptio...
直接上代码package com.qfx.test;import java.io.File;
import java.io.FileReader;
import java.io.Reader;
import java.nio.charset.Charset;
import java.sql.Connection;
import java.sql.DriverManager;import org.apache.ibatis.io.Resources;
import org.apache.ibatis.jdbc.ScriptRunner;public class ScriptRunnerExecSql {private static String dbHost="127.0.0.1"; // 数据库地址private static String ...
数据备份对于经常在运维部署方面的工作者来说,是一件相对简单的事情,都可以通过某一个SQL工具进行备份,但是如果在项目运行当中,我们需要对数据进行实时,或者是每隔一星期,一个月,等等进行数据的备份,这样就需要java工具来操作备份SQL文件,目前可以通过调用mysql安装的命令进行数据备份,另外通过Job任务调度器进行配合使用,这里技术选型为Quartz。
在下面代码当中address为SQL脚本文件存放的地址。
其中path为mysql的安装...
java执行sql脚本
使用工具:ibatis(目前以集成在MyBatis3.0.1或更高版本中部分3.x.x版本已移除ibatis,本文使用MyBatis3.0.1MyBatis2.5.x同样集成ibatis,但无法使用
支持JDK版本:1.5及以上
import org.apache.ibatis.jdbc.ScriptRunner;//执行mysql数据库脚本示例@Testpublic void mulitSqlForIbatisOnMySql() {try {//执行日志文件配置BufferedWriter log = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(ne...
我想用Java执行SQL脚本文件而不将整个文件内容读入大查询并执行它.
还有其他标准方式吗?解决方法:没有可移植的方法.您可以执行本机客户端作为外部程序来执行此操作:import java.io.*;
public class CmdExec {public static void main(String argv[]) {try {String line;Process p = Runtime.getRuntime().exec("psql -U username -d dbname -h serverhost -f scripfile.sql");BufferedReader input =new BufferedReader(new Inpu...
我有Oracle DB 11g企业版,我想从我的java代码执行sql脚本.我正在从.sql文件中读取此sql脚本,该脚本包含诸如create table,create type,alter table,drop type,drop procedure,insert into以及带有begin和end的pl / sql块以及所有此类构造的语句.
我的问题是,如何从java代码中分离出用于执行的单个sql语句?在MS SQL中,我可以简单地用GO关键字分隔这些sql语句,而在Oracle db中则没有这样的分隔符.通常在Oracle数据库脚本中用作分隔符...
我正在开发一个需要将信息存储到数据库的应用程序.我想尽可能使用Scala解决方案.如果由于某种原因数据库连接失败,我想将原本已执行的SQL语句写入.sql脚本文件.我的想法是,当/如果恢复与数据库的连接时,我想在Scala / Java中执行该脚本以使数据库恢复同步.如果程序出现故障,也可以使用.sql脚本,这样就可以手动执行脚本.
如何将我要执行的sql语句记录到Scala / Java中的文件中?那么,如何在Scala / Java中执行该文件(或任何.sql脚本)...
我正在使用Hibernate 3和Spring 3.我一直在尝试填充内存数据库,我正在使用Spring这样做.当我尝试这样做时,我会感到非常沮丧,并且这个堆栈跟踪:为了节省你们一些阅读,例外是:user lacks privilege or object not found: XFC_ACTIONSTARTCONDITIONTYPE Failed to execute database script; nested exception is org.springframework.jdbc.datasource.init.ScriptStatementFailedException: Failed to execute SQL script statemen...
如何在Java中运行.sql脚本(从文件)并使用Spring返回ResultSet?
我有一个程序在返回ResultSet的数据库上运行SQL查询,我稍后处理并使用我的类中的数据.我目前正在使用JDBC与Java程序中的脚本.StringBuilder query = new StringBuilder("some script on multiple lines");
PreparedStatement statement = connection.prepareStatement(query.toString());
ResultSet resultSet = statement.executeQuery();我想将Java程序之外的SQL查...
直接上代码package com.qfx.test;import java.io.File;
import java.io.FileReader;
import java.io.Reader;
import java.nio.charset.Charset;
import java.sql.Connection;
import java.sql.DriverManager;import org.apache.ibatis.io.Resources;
import org.apache.ibatis.jdbc.ScriptRunner;public class ScriptRunnerExecSql {private static String dbHost="127.0.0.1"; // 数据库地址private static String ...