-
java导入sql文件怎么打开_Java执行SQL脚本导入
2021-02-26 14:14:57今天做了一个用java导入sql脚本的功能,前台上传一个sql文件,后台先保存本地,然后进行导入。主要代码如下:Stringcmd="cmd/csqlplususr/[emailprotected]{//服务器IP:1521/}sid@d:\\1.sql>d:\\t.log";Processp=...今天做了一个用java导入sql脚本的功能,前台上传一个sql文件,后台先保存本地,然后进行导入。主要代码如下:String cmd = "cmd /c sqlplus usr/[email protected]{//服务器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) {
e.printStackTrace();
}
p.destroy();
}
}
注:1.sql文件中必须要有/
2.如果没有在sql最后一行加入exit则,执行完后,process实例仍然出于等待中,具体可以自行尝试cmd中执行。如需sql执行完程序关闭则最后一行加入exit。
3.上面的服务器IP和端口号是可选的,如果你已经配置了Net manager,则直接引用配置的sid就行了。
原文:http://biyusheng.blog.51cto.com/2626140/1438073
-
java导入SQL文件的方法
2014-02-19 10:35:33import org.apache.tools.ant.Project; import org.apache.tools.ant.taskdefs.SQLExec;...注意:使用此方法进行sql导入实现时,需要将sqlPath指定的SQL文件中的注释全部去掉,否则导入时会报错。import org.apache.tools.ant.Project; import org.apache.tools.ant.taskdefs.SQLExec; String linkStr = "jdbc:"+dbaddress+":3306/"+dbname+"?useUnicode=true&characterEncoding=UTF-8"; SQLExec sqlExec = new SQLExec(); sqlExec.setEncoding("UTF-8"); sqlExec.setDriver("com.mysql.jdbc.Driver"); sqlExec.setUrl(linkStr); sqlExec.setUserid(dbusername); sqlExec.setPassword(dbpassword); sqlExec.setSrc(new File(sqlPath)); //sqlPath = SQL文件的路径 sqlExec.setProject(new Project()); sqlExec.execute();
注意:使用此方法进行sql导入实现时,需要将sqlPath指定的SQL文件中的注释全部去掉,否则导入时会报错。 -
java里面怎么导入sql文件_java将SQL文件导入到数据库
2021-03-14 23:40:00最近在做一个CMS系统,不免会在CMS安装阶段会有一个Install database阶段,需要用到安装数据库,之前已经用mysqldunp命令到处一个sql格式的文件,现在需要将它导入数据库。由于java里没有直接针对于数据库的文件操作...最近在做一个CMS系统,不免会在CMS安装阶段会有一个Install database阶段,需要用到安装数据库,之前已经用mysqldunp命令到处一个sql格式的文件,现在需要将它导入数据库。由于java里没有直接针对于数据库的文件操作。只能考虑其他办法:这里是采用读取文件拼接成字符串,并批量处理(addBatch)的方式:代码如下:
private static File file = new File("E:\\data\\tulufan.sql");
private static InputStreamReader fileReader;
static {
try {
if (!file.exists()) {
file.createNewFile();
}
fileReader = new InputStreamReader(new FileInputStream(file),
"UTF-8");
} catch (Exception e) {
e.printStackTrace();
}
}
public void readSQLFile() {
BufferedReader bufferedReader = new BufferedReader(fileReader);
try {
StringBuilder sBuilder = new StringBuilder("");
String str = bufferedReader.readLine();
while (str != null) {
// 去掉一些注释,和一些没用的字符
if (!str.startsWith("#") && !str.startsWith("/*")
&& !str.startsWith("–") && !str.startsWith("\n"))
sBuilder.append(str);
str = bufferedReader.readLine();
}
String[] strArr = sBuilder.toString().split(";");
List strList = new ArrayList();
for (String s : strArr) {
strList.add(s);
System.out.println(s);
}
// 创建数据连接对象,下面的DBConnection是我的一个JDBC类
DBConnection db = new DBConnection();
db.executeBatchByStatement(strList);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
bufferedReader.close();
fileReader.close();
} catch (Exception e) {
}
}
return true;
}/*******************************
** DBConnection类中批量处理方法
*/
public boolean executeBatchByStatement(List sqlList) {
boolean ret = false;
if (conn != null) {
Statement stmt = null;
try {
conn.setAutoCommit(false);
stmt = conn.createStatement();
for (String s : sqlList) {
stmt.addBatch(s);
}
stmt.executeBatch();
conn.commit();
ret = true;
} catch (BatchUpdateException e) {
e.printStackTrace();
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
conn.setAutoCommit(true);
if (stmt != null) {
stmt.close();
stmt = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
return ret;
}
当然,这只是我个人想出来的一个办法,愚陋之见还望大家批评指教,共同提高啊。。。代码有什么问题的可以QQ我,共同商讨啊。。
-
java里面怎么导入sql文件_sql文件导入大字段,使用java 代码导入
2021-03-14 23:40:25sql文件导入大字段,大字段超过4000则报错文本超过长度,import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStream;import java.io.InputStreamReader;import ...sql文件导入大字段,大字段超过4000则报错文本超过长度,
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.StringReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import oracle.jdbc.OracleDriver;
public class ClobTest {
String url = "jdbc:oracle:thin:@192.168.1.102:1521:orcl";
String user = "YNZJ";
String pwd = "YNZJ";
//String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
//String user = "hczz";
//String pwd = "hczz";
private void clobImport(List list) throws SQLException {
DriverManager.registerDriver(new OracleDriver());
Connection conn = DriverManager.getConnection(url, user, pwd);// 得到连接对象
PreparedStatement stmt = null;
for (String sql : list) {
String content = "";
try {
sql = sql.trim();
int num = sql.lastIndexOf("', '");
content = sql.substring(num + 4, sql.length() - 3);
sql = sql.substring(0, num) + "', ?)";
sql = sql.replace("\"YNZJ\".\"ENET_WORKBOOK\"", "ENET_WORKBOOK_bak");
stmt = conn.prepareStatement(sql);// 加载SQL语句
stmt.setCharacterStream(1, new StringReader(content), content.length());
stmt.executeUpdate();
} catch (Exception e) {
System.out.println(e.getMessage());
System.out.println(content);
System.out.println(sql);
}
}
stmt.close();
conn.close();
}
private List duqu(String path) throws Exception {
String code = resolveCode(path);
File file = new File(path);
InputStream is = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(is, code);
BufferedReader bufferedReader = new BufferedReader(isr);
List strings = new ArrayList();
String str = null;
String sql_d = "";
int num = 0;
int ks = 0;
int dz = 200;
int jz = ks + dz;
while ((str = bufferedReader.readLine()) != null) {
sql_d = sql_d + str;
if (str.endsWith("');") && sql_d != "") {
if (num >= ks) {
strings.add(sql_d);
}
sql_d = "";
num++;
}
if (num == jz) {
break;
}
}
System.out.println(strings.size());
return strings;
}
private String resolveCode(String path) throws Exception {
InputStream inputStream = new FileInputStream(path);
byte[] head = new byte[3];
inputStream.read(head);
String code = "gb2312"; // 或GBK
if (head[0] == -1 && head[1] == -2)
code = "UTF-16";
else if (head[0] == -2 && head[1] == -1)
code = "Unicode";
else if (head[0] == -17 && head[1] == -69 && head[2] == -65)
code = "UTF-8";
inputStream.close();
return code;
}
public static void main(String[] args) throws Exception {
ClobTest a = new ClobTest();
String path = "D:\\WORD_BOOK超长字段错误数据(1).txt";
a.clobImport(a.duqu(path));
}
}
-
java 导入sql_Java执行SQL脚本导入
2021-02-12 17:33:19今天做了一个用java导入sql脚本的功能,前台上传一个sql文件,后台先保存本地,然后进行导入。主要代码如下:Stringcmd="cmd/csqlplususr/pwd@{//服务器IP:1521/}sid@d:\\1.sql>d:\\t.log";Processp=null;try{p=... -
java mysql 导出sql文件_java命令行导出、导入sql文件
2021-01-19 08:57:171 @IocBean2 public classSqlCommandModel{34 //用户名5 @Inject("java:$conf.get('jdbc.username')")6 privateString username;7 //用户密码8 @Inject("java:$conf.get('jdbc.password')")9 priva... -
java导入.sql文件到数据库程序
2016-04-07 17:33:19自己写的java导入.sql文件到数据库,部署项目时可直接调用。内部包含源码。共享给大家,如有疑问,发邮件到 yichangjiang@sina.com 可与大家共同探讨。程序及说明在runjar目录下。 -
Java把txt文件导入SqlServer中
2014-03-10 00:02:08Java把txt文件导入SqlServer中 -
java web excel导入sqlserver_如何利用Java将Excel文件中的数据导入SQLServer
2021-03-13 02:42:35如何利用Java将Excel文件中的数据导入SQLServer邵建强(西安石油大学计算机学院,陕西西安710065)摘要:介绍了利用Java程序语言将Excel表格的数据导入到SQLSERVER2000... -
java runtime导入sql_java代码实现mysql的sql文件导入
2021-03-13 15:20:25// 注:这里如果用缓冲方式写入文件的话,会导致中文乱码,用flush()方法则可以避免 writer.flush(); // 别忘记关闭输入输出流 out.close(); br.close(); writer.close(); if(child.waitfor()==0){ System.out.... -
java sql 导入_java实现导出导入mysql数据库的sql文件
2021-03-08 18:01:12java实现导出导入mysql数据库的sql文件代码中省略mysql数据库配置文件信息,要知道实际项目开发中这个代码习惯不可取哦。本文只针对简单测试,故省略配置文件,直接写死配置信息。package com.fun.test;public class... -
java命令行导出、导入sql文件
2019-09-28 16:52:221 @IocBean 2 public class SqlCommandModel{ 3 4 //用户名 5 @Inject("java:$conf.get('jdbc.username')") 6 private String username; 7 //用户密码 8 @Inject... -
java 调用bat导入sql文件到postgresql
2018-09-24 18:57:01package com.example.springbootlogback.utils; import java.io.File; import java.io.IOException; public class CommandUtil { public static void execute(String filePath, String fileName) throws IOE... -
java runtime导入sql_java runtime执行mysqldump命令生成不了sql文件
2021-03-13 15:20:17问题描述String[] str = {"mysqldump -h localhost -u root -p -t lailr_js_pay wx_sp >...Runtime.getRuntime(str).exec执行mysqldump命令生成sql文件但是没有用会报错Exception in thread "main" java.io.IOExce... -
dbeaver导入sql文件_MySQL数据导入Hive-Java
2020-11-26 03:15:21上一篇文章我们使用通过beeline执行一些常规的HQL今天这一篇文章主要来看如果通过Java将MySQL数据导入到Hive中。SqoopSqoop并不在这篇文章的范围内,拿出来说的原因是,在公司数据研发大佬告诉我公司的数据库数据是... -
java csv sql_将CSV文件导入SQL Server
2021-03-14 16:03:25您需要将CSV文件导入数据表然后,您可以使用SQLBulkCopy插入批量行using System;using System.Data;using System.Data.SqlClient;namespace SqlBulkInsertExample{class Program{static void Main(string[] args){... -
批处理导入SQL文件
2012-11-01 15:26:26这是一个关于批处理导入SQL文件的类,里面有java调用批处理,和批处理的写法 -
java 导入dbf文件_用java怎么实现批量导入dbf文件(从dbf文件导入到sqlserver2008中)到sqlserver2008...
2021-03-04 06:46:30你是不是打算象SQL里面批量插入的方法用一个INSERT语句一次性导入?那还是放弃吧。不是说不能实现,而是这个办法实在没有多大用处,实在是屠龙之技。举个例子吧有A,B两个表(是不是同一个数据库并不重要),要求把A表... -
java将SQL文件导入到数据库
2011-08-10 10:01:11最近在做一个CMS系统,不免会在CMS安装阶段会有一个Install database阶段,需要用到安装数据库,之前已经用mysqldunp命令到处一个sql格式的文件,现在需要将它导入数据库。由于java里没有直接针对于数据库的文件操作... -
用java实现txt文件导入sql sever 数据库
2012-03-19 14:58:17txt中信息例如:姓名、年龄、年级、学号等信息通过java程序导入到SQL数据库中 -
java导入exec表格代码_Java导入Excel文件
2021-03-15 10:28:16packagecom.cme.core;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io....importjava.sql.Connection;importjava.sql.PreparedStatement;importjava... -
java mysql导入txt文件_java导入txt文件进入mysql
2021-01-30 05:42:22package importMysql;import java.io.*;...public class importTry {/*** @param args* 本程序涉及文件IO,字符串分隔StringTokenizer,JDBC,数据库sql语句*/public static void main(String[] args)... -
linux mysql批量导入sql文件_mysql使用source命令批量导入多个sql文件
2021-01-27 05:11:54在数据库脚本初始化的时候,可能会遇到拿到的脚本有很多个,如果一...1、将多个sql文件拷贝到D:\\sql目录,目录自定义2、通过java程序输出该目录下的sql文件信息package com.zoro.fileoperate;import java.io.File;pu... -
java 导入导出txt文件_Java 导入导出txt文件
2021-02-26 18:57:14Java 导入导出txt文件。Oracle数据库导出成txt格式方法,如何将数据库表单信息生成txt文件。daoJava代码 收藏代码/*** 获得所有数据*/public String getAllWord() {Session session=super.getSession();StringBuffer... -
navicat 解析sql_Navicat 导出sql文件和导入sql文件
2020-12-23 11:55:27第四天--html简易布局 【转载】 Java线程面试题 Top 50Java线程面试题 Top 50 不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题.Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员... -
java导入csv文件到mysql数据库里
2021-03-09 10:44:02java导入csv文件到mysql数据库里 不用导poi的包 简单易懂` package com; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.LineNumberReader; import java.sql.... -
Java调用Mysql——Mysql导入sql文件乱码解决方法
2009-03-21 19:43:14Mysql导入sql文件乱码解决方法 在后面加上默认字符集 [code="cmd"] C:\Documents and Settings\Administrator>mysql -h127.0.0.1 -utiger -p111111 test -
java jdbc 导入_java代码中用JDBC导入sql脚本
2021-03-06 14:20:46java代码中用JDBC导入sql脚本关注:120答案:2mip版解决时间 2021-02-02 21:43提问者祇為焄菂兲哋閤2021-02-02 09:55我有一个Temp.sql脚本文件,java的中用JDBC导入sql脚本,我用Statement.execute("source d:okercn....