1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

PROBLEM mit BLOB bei JAVA, JDBC, bzw MySQL

    • Suche
  • baXit
  • 16. Januar 2005 um 20:38
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • baXit
    Punkte
    50
    Beiträge
    6
    • 16. Januar 2005 um 20:38
    • #1

    [UPDATE]mit PreparedStatement und setBlob gehts problemlos [/UPDATE]

    Ich veruche seit einigen tagen Daten in ein blob-feld einer MySQL Datenbank zu schreiben.
    Das auslesen klappt Problemlos nur das reinschreiben will einfach nicht hinhaun
    Ich hab vor einiger zeit das selbe schon mal unter JAVA/JDBC/Oracle8.0 gemacht da gings so (siehe unten) problemlos

    Kennt jemand das Problem? (oder vielleicht sogar ne lösung dafür)

    verwendete versionen:
    Java: SE 1.4.2
    MySQL: 4.1.7
    JDBC-Driver(für mysql): 3.0.16

    folgender code wird/soll fürs reinschreiben verwendet werden:

    Code
    public void updateAddress(int id, String newaddress){
          try{
    	 String updateaddress = "UPDATE Vermietung SET Rechnung = Rechnung WHERE Auftragsnummer ="+id;
    	 dbcon.setAutoCommit (false);
    	 update(updateaddress);
    
    
    	 ResultSet blobresult = select("SELECT * FROM Vermietung WHERE Auftragsnummer="+id);
    	 blobresult.next();
    	 fillBlob(blobresult.getBlob(4),newaddress);
    
    	 dbcon.commit();
    	 dbcon.setAutoCommit(true);
          }catch (SQLException sqle){
    	 System.out.println("SQL-Fehler!! "+sqle.getMessage());
          }
       }
    
    
       public void fillBlob (Blob blob, String newfilling) {
    
    
          OutputStream output = null;
    
          try{
    	 output = blob.setBinaryStream(1);
          }catch (SQLException sqle){
    	 System.out.println(sqle.getMessage());
          }
          System.out.println("Output: ['+output.toString()+']");
          if (output != null){
             try{
    	    output.write(newfilling.getBytes());
    	    System.out.println(newfilling);
    	    System.out.println("Output: ['+output.toString()+']");
    	    output.close();
    	 }catch (IOException ioe){
    	    System.out.println(ioe.getMessage());
    	 }
          }
          else{
    	 System.out.println("blubb");
          }
       }
    Alles anzeigen
  • Ringding
    Punkte
    1.237
    Beiträge
    244
    • 19. Januar 2005 um 18:27
    • #2

    Probier mal, das Feld ganz normal wie einen String zu befüllen. In C geht's jedenfalls so (quoted & escaped). Mit JDBC & MySQL hab ich leider keine Erfahrung.

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum