insertt.java

来自「一段向Oracle数据库写数据的代码」· Java 代码 · 共 124 行

JAVA
124
字号

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import oracle.sql.BLOB;

public class InsertT {
	Connection con = null;
    PreparedStatement prst = null;
    Statement  stmt = null;
    ResultSet rs = null;
    int temp=0;
    String fileroot ="C:\\Documents and Settings\\zhao\\桌面\\bt_ctd\\ctd_txt\\";
    public InsertT() throws ClassNotFoundException, SQLException
    {
        run();
    }  
    void run()
    {	
    	
        String Driver_Name="oracle.jdbc.driver.OracleDriver";
        //String url="jdbc:oracle:thin:@202.118.19.247:1521:ocean10g";
        String url="jdbc:oracle:thin:@202.118.19.231:1521:DB703";
        String user = "scott";
        String password = "tiger";
        //File property = new File("D:\\c.txt");      
        //BufferedReader readin = null;
        
        InputStream sampleFileStream=null;
        
        byte[] buffer = null;  
        String name =null;
        String tempName="third";
        try
        {
            Class.forName(Driver_Name);
            
            con = java.sql.DriverManager.getConnection(url,user,password);
            
            con.setAutoCommit(false);
            System.out.println("1");
            //readin = new BufferedReader(new InputStreamReader(new FileInputStream(property)));
            String[] files = FileManger.serachFiles("C:\\Documents and Settings\\zhao\\桌面\\bt_ctd\\ctd_txt");
            stmt=con.createStatement();
            //con.commit();
            //stmt=con.createStatement();
			stmt.executeUpdate("insert into tt values('"+tempName+"',empty_blob())");
			//con.commit();
			//System.out.println("insert");
			stmt=con.createStatement();
            for (int i = 0; i < files.length; i++) {
                files[i]=fileroot+files[i];          
                System.out.println(files[i]);                
                rs=stmt.executeQuery("select content from tt where name='"+tempName+"'for update");
                System.out.println(tempName);
				//rs=stmt.executeQuery("select file_txt from filetest where  pid=1 for update");
                System.out.println("2");
                if(rs.next())
                {	
                	System.out.println("4");
                    //Blob b = ((OracleResultSet) rs).getBlob(1);
                    Blob b = rs.getBlob(1);
                    if(b==null)
                    {
                    	System.out.println("b is null");
                    }
                    System.out.println("5");
                    OutputStream blobOutputStream = ((BLOB)b).getBinaryOutputStream();
                    System.out.println("123");
                    sampleFileStream = new FileInputStream(files[i]);
                    System.out.println("6");
                    buffer = new byte[10* 1024];
                    int nread = 0; 
                    while( (nread= sampleFileStream.read(buffer)) != -1 ) 
                       blobOutputStream.write(buffer, 0, nread); 
                    System.out.println("7");
                    sampleFileStream.close();
                    System.out.println("8");
                    blobOutputStream.close(); 
                    System.out.println("9");
                }  
                con.commit();
            }  
        }
        catch(Exception e)
        {
            System.out.println(e.getMessage());
        }        
    }
    
    	   void test() throws ClassNotFoundException, SQLException
    	     {
    	    	 Class.forName("oracle.jdbc.OracleDriver");
    	         java.sql.Connection con = null;
    	         String url="jdbc:oracle:oci8:@ocean10g";        
    	         String user = "scott";
    	         String password = "tiger";
    	         con = java.sql.DriverManager.getConnection(url,user,password);
    	         con.setAutoCommit(false);
    	         stmt = con.createStatement();
    	         stmt.executeUpdate("insert into test values(12,'name')");
    	         rs=stmt.executeQuery("select * from test");
    	         
    	         while(rs.next())
    	         {
    	        	 System.out.println(rs.getInt(1));
    	         }
    	     }
    
    
    public static void main(String[] args) throws ClassNotFoundException, SQLException
    {
        InsertT t = new InsertT();
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?