Sei que essa questão ja foi discutida na
lista, mas não de forma clara, geralmente indicão links que não mostrão nada que
ajude realmente...
Consegui inserir um imagem no Oracle 8i, com o
código que segue a baixo, mas nada além de 4000 bytes.....Será que existe alguêm
nessa lista que tenha um exemplo , de como eu possa inserir imagens de qualquer
tamanho em um banco Oracle8i, e depois recuperala através de meu aplicativo
Java.
/*
* gravaBlob.java
*
*/
* gravaBlob.java
*
*/
import java.sql.*;
import java.net.*;
import java.io.*;
import java.net.*;
import java.io.*;
public class gravaBlob extends Object
{
private File file;
private long fileLength;
private InputStream fin;
private Connection conn1;
private PreparedStatement stmt1;
/** Creates new gravaBlob */
public gravaBlob() {
String arq = new String("c:\\Teste\\Mesagem.jpg");
try {
file = new java.io.File(arq);
fileLength = file.length();
fin = new java.io.FileInputStream(file);
//Blob blob;
byte [] foto = new byte[Integer.valueOf(String.valueOf(fileLength)).intValue()];
//blob.setBytes(0,foto);
System.out.println(arq + ": " + fileLength + " bytes. " + fin.read(foto) + " bytes lidos");
Class.forName(oracle.jdbc.driver.OracleDriver);
conn1 = DriverManager.getConnection(jdbc:oracle:thin:@IP:BANCO,"nome","senha");
private File file;
private long fileLength;
private InputStream fin;
private Connection conn1;
private PreparedStatement stmt1;
/** Creates new gravaBlob */
public gravaBlob() {
String arq = new String("c:\\Teste\\Mesagem.jpg");
try {
file = new java.io.File(arq);
fileLength = file.length();
fin = new java.io.FileInputStream(file);
//Blob blob;
byte [] foto = new byte[Integer.valueOf(String.valueOf(fileLength)).intValue()];
//blob.setBytes(0,foto);
System.out.println(arq + ": " + fileLength + " bytes. " + fin.read(foto) + " bytes lidos");
Class.forName(oracle.jdbc.driver.OracleDriver);
conn1 = DriverManager.getConnection(jdbc:oracle:thin:@IP:BANCO,"nome","senha");
stmt1 = conn1.prepareStatement("INSERT INTO sisti.chamado_arquivos_t(id_chamado_arquivo,id_chamado,arquivo,imagem,rowversion) VALUES (?,?,?,?,?)");
stmt1.setString(1,"3");
stmt1.setString(2,"864");
stmt1.setString(3,"c:\\Teste\\Mesagem.jpg");
stmt1.setBytes(4,foto);
//stmt1.setBlob(4,blob);
stmt1.setString(5,"3");
stmt1.executeUpdate();
stmt1.close();
conn1.close();
System.out.println("Fim do processo.");
}
catch(Exception e) {
System.out.println(e);
}
}
public static void main (String args[]) {
new gravaBlob();
}
}