java导入oracle数据库
参考代码如下:
public class InsertBlobData {
Connection con = null;
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
InsertBlobData data = new InsertBlobData();
data.insertBlogInfo("002jpg", "sdsdfdf", "2007-02-12", "002.jpg");
}
public void insertBlogInfo(String jmzh, String xm, String smsj,
String fileName) throws Exception {
// try {
con = ConnectionPoliceFactory.getFactory().getConnection();
// } catch (ClassNotFoundException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// 处理事务
boolean defaultCommit = con.getAutoCommit();
con.setAutoCommit(false);
Statement st = con.createStatement();
// 插入一个空对象
st.executeUpdate("insert into ksren_txxx(jmzh,xm,smsj,txsj) values('"
+ jmzh + "','" + xm + "',to_date('" + smsj
+ "','yyyy-mm-dd'),empty_blob())");
// 用for update方式锁定数据行
ResultSet rs = st
.executeQuery("select txsj from ksren_txxx where jmzh='"
+ jmzh + "' and xm='" + xm + "' for update");
if (rs.next()) {
// 得到java.sql.Blob对象,然后Cast为oracle.sql.BLOB
oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob(1);
// 到数据库的输出流
OutputStream outStream = blob.getBinaryOutputStream();
// 这里用一个文件模拟输入流
InputStream fin = new FileInputStream(new File(fileName));
// 将输入流写到输出流
byte[] b = new byte[blob.getBufferSize()];
int len = 0;
while ((len = fin.read(b)) != -1) {
outStream.write(b, 0, len);
// blob.putBytes(1,b);
}
// 依次关闭(注意顺序)
fin.close();
outStream.flush();
outStream.close();
con.commit();
/* 恢复原提交状态 */
con.setAutoCommit(defaultCommit);
con.close();
}
}
}
B. java如何将dmp文件导入到oracle数据库中
这个问题要先注意:oracle是不能用语句直接导出的,而常规的导出办法是用cmd的DOS命令来操作,之前我已经试过了,具体代码如下:
try {
//获取备份路径
SystemSetting ss=App.getSystemSetting("datebase_bak");
String bakpath=ss.getSettingValue();
//判断路径是否存在,不存在创建
java.io.File ff=new java.io.File(bakpath);
if(!ff.exists()&&!ff.isDirectory()){
ff.mkdir();
}
//备份操作开始
String baksql="";//备份语句
String dburl=App.getConfigValue("db.url");
String dataBaseName="";//数据库名称
//oracle中数据库名放在最后
String[] newDBurlStrings=dburl.split(":");
dataBaseName=newDBurlStrings[newDBurlStrings.length-1].toUpperCase();
Calendar now = Calendar.getInstance();
//备份文件名称(数据库名+年月日)
String baknameString=dataBaseName+now.get(Calendar.YEAR)+now.get(Calendar.MONTH)+now.get(Calendar.DAY_OF_MONTH)+".dmp";
//如果已存在当天的备份先删除之前的备份
java.io.File bakfile=new java.io.File(bakpath+baknameString);
if(bakfile.exists()){
bakfile.delete();
}
String username=App.getConfigValue("db.username");
String password=App.getConfigValue("db.password");
baksql="exp "+username+"/"+password+"@"+dataBaseName+" file="+bakpath+baknameString+" full=y";
//oracle无法用sql语句进行备份只能通过cmd命令备份
Runtime rt = Runtime.getRuntime();
Process p = rt.exec(baksql);
//p.destroy();
} catch (Exception e) {
logger.debug("数据库备份出现异常:"+e.getMessage());
return NONE;
}
大致是这样,其他的你修改下就可以了
C. 怎么用java连接oracle数据库,需要详细解释
1)首先你要有java连接oracle数据库的驱动类,下载好后导入到工程里
2)代码:
import java.sql.*;
public class JDBCTest {
/**
* @param args
* @throws ClassNotFoundException
*/
public static void main(String[] args)
throws ClassNotFoundException, SQLException{
//1.准备参数
String ip = "192.168.0.26";
String sid = "tarena";
String port = "1521";
String dbUser = "openlab";
String dbPassword = "open123";
String driver
= "oracle.jdbc.driver.OracleDriver";
//2.构造驱动实例
Class.forName(driver);
//3.创建连接
//连接字符串是固定的形式,oracle的形式:
String url
= "jdbc:oracle:thin:@"
+ ip + ":" + port + ":" + sid;
Connection conn
= DriverManager.getConnection
(url, dbUser, dbPassword);
//4.执行SQL语句
String sql = "select id, password, name from user_sd1104 " +
"where id = 1001 and password = '1234'";
Statement stmt = conn.createStatement();
ResultSet rs
= stmt.executeQuery(sql);//执行sql语句
while(rs.next()){
int id = rs.getInt(1);
String pwd = rs.getString(2);
String name = rs.getString(3);
System.out.println("welcome," + name);
}
rs.close();
stmt.close();
conn.close();
}
}
D. 怎样实现java导入导出oracle数据库
oracle 数据库导入导出(用dmp的方法)
cmd
1 将数据库SampleDB完全导出,用户名system 密码manager 导出到E:\SampleDB.dmp中
exp file=E:\sampleDB.dmp full=y
2将备份数据库文件中的数据导入指定的数据库SampleDB 中,如果 SampleDB 已存在该表,则不再导入;
imp file=D:\SampleDB.dmp full=y ignore=y
如果没有DBA权限,用以下命令授予DBA权限
sqlplus / as sysdba;
conn system/manager
sql>grant dba to SampleDB
E. java怎么连接oracle数据库
第一种方法JDBC链接:
public static Connection getConnection() {
Connection connection = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
String user = "xxxxx";
String password = "xxxxxx";
connection = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
e.printStackTrace();
}
return connection;
}
第二种Spring中Bean配置:
<!-- 配置oracle数据源 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url"
value ="jdbc:oracle:thin:@localhost:1521:orcl" />
<property name="username" value="xxxxxx" />
<property name="password" value="xxxxxxxxx" />
</bean>
F. java 怎么从excel文件导入到oracle数据库中
java操作excel一般都使用poi来完成:
1、下载poi相关jar,maven的集成如下:(把${poi.version}替换成你要的版本)
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>${poi.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>${poi.version}</version>
<scope>provided</scope>
</dependency>
2、根据poi相关api读取sheet、row、cell,获得excel的数据:
封装row的对象,即每一行数据为一个对象,每个cell为对象里的一个属性,
整个sheet的数据装进集合里;
3、处理数据,可以对数据进行验证或其他操作;
4、写数据库操作。