Java / sqlserver

Résolu/Fermé
Shizoru HOZAWA - Modifié par Shizoru HOZAWA le 19/12/2016 à 15:52
Shizoru Messages postés 1 Date d'inscription lundi 19 décembre 2016 Statut Membre Dernière intervention 20 décembre 2016 - 20 déc. 2016 à 04:44
Bonjour,

J'ai enregistré un document PDF dans ma base de données SQLSERVER, et j'aimerai pouvoir le récupérer (exporter) mais à partir de mon code Java.
Et je ne sais pas comment faire, pouvez-vous m'aider svp?

Je travaille sous Netbeans.

A voir également:

1 réponse

Shizoru Messages postés 1 Date d'inscription lundi 19 décembre 2016 Statut Membre Dernière intervention 20 décembre 2016
Modifié par Shizoru le 20/12/2016 à 04:51
J'AI TROUVE LA RÉPONSE LES AMIS.



import java.sql.*;
import java.io.*;

public class savePDFToDb {
public static void main(String[] args) {
DB db = new DB();
Connection conn=db.dbConnect(
"jdbc:jtds:sqlserver://localhost:1433/smpp","sa","");

db.insertPDF(conn,"d://servlet//jdbc//test.pdf");
db.getPDFData(conn);
}

}

class DB {
public DB() {}

public Connection dbConnect(String db_connect_string,
String db_userid, String db_password) {
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
Connection conn = DriverManager.getConnection(
db_connect_string, db_userid, db_password);

System.out.println("connected");
return conn;

} catch (Exception e) {
e.printStackTrace();
return null;
}
}

public void insertPDF(Connection conn,String filename) {
int len;
String query;
PreparedStatement pstmt;

try {
File file = new File(filename);
FileInputStream fis = new FileInputStream(file);
len = (int)file.length();
query = ("insert into TableImage VALUES(?,?,?)");
pstmt = conn.prepareStatement(query);
pstmt.setString(1,file.getName());
pstmt.setInt(2, len);

//method to insert a stream of bytes
pstmt.setBinaryStream(3, fis, len);
pstmt.executeUpdate();

} catch (Exception e) {
e.printStackTrace();
}
}

public void getPDFData(Connection conn) {

byte[] fileBytes;
String query;
try {
query =
"select data from tableimage where filename like '%.pdf%'";
Statement state = conn.createStatement();
ResultSet rs = state.executeQuery(query);
if (rs.next()) {
fileBytes = rs.getBytes(1);
OutputStream targetFile= new FileOutputStream(
"d://servlet//jdbc//newtest.pdf");
targetFile.write(fileBytes);
targetFile.close();
}

} catch (Exception e) {
e.printStackTrace();
}
}
};
0