jdbc - streaming ascii - og binære data

, en preparedstatement objekt har evnen til at bruge input og output strøm til at levere parameter data.det giver dig mulighed for at hele filer i databasen kolonner, der kan holde store værdier, som f.eks. clob og klat datatyper. der er følgende metoder, som kan anvendes til at stråle data &minus,,,,, setasciistream(): denne metode anvendes til at levere en stor ascii - værdier,.,,,, setcharacterstream():, denne metode anvendes til at levere en stor unicode værdier.,,,, setbinarystream(): denne metode anvendes til at levere store binære værdier.,,, setxxxstream() metode kræver en ekstra parameter, filen størrelse, og parameter indikation af en art.denne parameter informerer føreren, hvor meget data sendes til databasen ved hjælp af åen. f.eks. finder vi ønsker at uploade en xml - fil xml_data.xml i en database.her er indholdet af denne xml - fil −, <?xml - version = "0"?> <Employee> <id>100</id> <first>Zara</first> <last>Ali</last> <Salary>10000</Salary> <Dob>18-08-1978</Dob> <Employee> ,Keep this XML file in the same directory where you are going to run this example.,This example would create a database table XML_Data and then file XML_Data.xml would be uploaded into this table.,Copy and past the following example in JDBCExample.java, compile and run as follows −, //Import required packages import java.sql.*; import java.io.*; import java.util.*; public class JDBCExample { //JDBC driver name and database URL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost /emp "; //database akkreditiver statisk sidste snor - bruger =" brugernavn "; statiske sidste snor passere =" kodeord "offentlige statisk tomrum vigtigste (string [] args) {forbindelse conn = ugyldig; preparedstatement pstmt = ugyldig; udtalelse stmt = ugyldig; resultset rs = ugyldig; prøve (//register jdbc - klasse. forname (" kom. mysql. jdbc. "); //åbne tilslutning. println (", der forbinder til database... "); 5 = drivermanager. getconnection (db_url, bruger, pass); //skabe en erklæring imod og opbygge tabel stmt =. createstatement(); createxmltable (stmt); //åbne en fileinputstream fil f = nye fil (" xml_data. xml - "); lange filelength = f. length(); filinputstream fis = nye fileinputstream (f); //skabe preparedstatement og strøm data snor sql = "indsættes i xml_data værdier (??) "; pstmt = conn.preparestatement (sql); pstmt. setint (1100); pstmt. setasciistream (2, finansielle instrumenter (int) filelength); pstmt. execute(); //tætte input - stream - fis. close(); //gøre en forespørgsel for at få ro sql = "udvalgte data fra xml_data, hvor id = 100". r = stmt.executequery (sql); //får den første række, hvis (rs.next () (//hente data fra indgående strøm inputstream xmlinputstream = rs.getasciistream (1); int c; bytearrayoutputstream bos = nye bytearrayoutputstream(); mens (c = xmlinputstream.read ()).= - 1) bos. skrive (c); //trykte resultater system. println (bos. tostring())} //rent miljø rs. close(); stmt. close(); pstmt. close(), conn. close();} fangst (sqlexception se) (//klare fejl for jdbc selv. printstacktrace();} fangst (undtagen e) (//klare fejl i class.forname f. printstacktrace();} endelig (//endelig blok, der anvendes til at lukke ressourcer prøve (hvis (stmt!= nul) stmt. close();} fangst (sqlexception se2) {} //intet, vi kan gøre prøve (hvis (pstmt!= nul) pstmt. close();} fangst (sqlexception se2) {} //intet, vi kan gøre prøve (hvis (conn.= nul). close();} fangst (sqlexception se) (se. printstacktrace();} //ende endelig prøve) //sidste prøve system. println ("farvel.");) //ende vigtigste offentlige statisk tomrum createxmltable (erklæring stmt) kaster sqlexception {system. println ("at skabe xml_data tabel..."); //skabe sql erklæring snor streamingdatasql = "skabe tabel xml_data" + "(id heltal, data længe)" //- tabel først, hvis det eksisterer.prøve (stmt. executeupdate ("drop tabel xml_data");} fangst (sqlexception se) {} ////////////////ikke bygge tabel.stmt. executeupdate (streamingdatasql)} //ende createxmltable} //ende jdbcexample, lad os udarbejde ovenstående eksempel således −, c) > javac jdbcexample.java c: \\ >,, når du løber, jdbcexample, det giver følgende resultat: minus; c: er > java jdbcexample forbinder til database...at skabe xml_data bord...<?xml - version = "0"?> < ansat > < id > 100 < /id > < første > zara < /første > < sidste > ali < /sidste > < løn > og 10.000 < /løn > < fødselsdato > 18-08-1978 < /fødselsdato > < ansat > farvel!c) >,



Previous:
Next Page: