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、写数据库操作。
