vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Datenbanken
Bild in 64K Schritten in SQL-Datenbank speichern 
Autor: Akop
Datum: 27.10.11 11:55

Hallo,

ich bin neu was VB6 angeht.

Jetzt habe ich folgendes Problem:
Ich soll ein Bild in die QSL-datenbank schreiben, das habe ich hingekriegt, aber jetzt soll ich es in 64K schritten machen und den schreibstatus anzeigen. Das gleiche gilt dan auch fürs auslesen.

Kann mir da jemand helfen?

Danke in vorraus
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bild in 64K Schritten in SQL-Datenbank speichern 
Autor: wb-soft
Datum: 27.10.11 12:08

Hi!

Kannst du einmal genauer erklären, was du erreichen willst? Interessant wäre auch warum.


mfg

WB
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bild in 64K Schritten in SQL-Datenbank speichern 
Autor: Akop
Datum: 27.10.11 12:34

Warum ist einfach, so will es mein Boss

Also, ich will das wenn ein Bild in datenbank geschrieben wird, oder aus dem DB ausgelen wird, das es in 64K Schritten(bzw. Blöcken) passiert und nach jedem Schritt(Block), soll die ProgressBar aktualisiert werden.

Das mit Schreiben und Auslesen habe ich hingekriegt.
Nur halt nicht in 64K Schritten

Beitrag wurde zuletzt am 27.10.11 um 12:40:48 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bild in 64K Schritten in SQL-Datenbank speichern 
Autor: wb-soft
Datum: 27.10.11 15:59

Hi!

OK, das Wort des Chefs ist Gesetz.

Jetzt beschreib einmal wie du die Bilder jetzt speicherst.
Welche DB verwendest du?


mfg

WB
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bild in 64K Schritten in SQL-Datenbank speichern 
Autor: Akop
Datum: 27.10.11 16:10

Ich verwende Sybase v7 datenbank system, local installiert

Bitte nicht zu streng bewerten, VB vor 3 Wochen zum ersten mal gesehen
Dim conArbeitsdatenbank As New ADODB.Connection       ' DB-Verbindung
Dim recsetDbAntwort As New ADODB.Recordset            ' DB_Antwort
Dim l_sFile As New ADODB.Stream     'Dateistream um das Bild hochzuladen
 
With l_sFile
    .Type = adTypeBinary
    .Open
    .LoadFromFile ofdOpenFoto.FileName
  End With
 
 
Set recsetDbAntwort = New ADODB.Recordset
 
  recsetDbAntwort.Source = "Select id, bild From pers"
  recsetDbAntwort.CursorLocation = adUseServer
  recsetDbAntwort.CursorType = adOpenDynamic
  recsetDbAntwort.LockType = adLockOptimistic
 
  recsetDbAntwort.Open , conArbeitsdatenbank
 
While Not recsetDbAntwort.EOF And Not recsetDbAntwort.BOF And _
  recsetDbAntwort.Fields("id") <> l_lId
    recsetDbAntwort.MoveNext
Wend
 
  recsetDbAntwort.Fields("bild") = l_sFile.Read
 
  l_sFile.Close
 
  recsetDbAntwort.UpdateBatch
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bild in 64K Schritten in SQL-Datenbank speichern 
Autor: wb-soft
Datum: 27.10.11 20:23

Hi!

In der guten alten Zeit wurde das mit AppendChunk und GetChunk gemacht. Mit der Einführung des Stream-Objektes ist das aber kaum mehr ein Thema.

Mit Streams habe ich keine Erfahrung. Ich kenne keine Möglichkeit, die Blockgröße zu beinflussen.

Wenn dein Chef darauf besteht, greif zur alten Methode. Ein Beispiel gibt es in der Hilfe.


mfg

WB
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bild in 64K Schritten in SQL-Datenbank speichern 
Autor: wb-soft
Datum: 27.10.11 21:57

Hi!

Noch eine Idee, die allerdings nicht von mir stammt:
Die Kombination von AppendChunk und Stream.Read.

Im Klartext nach diesem System:
Recordset!Field.AppendChunk Stream.Read(Blocksize)
Das Ganze in einer Schleife, bis der Stream abgearbeitet ist.

Wie gesagt, nicht meine Idee.
Keine Ahnung, ob das wirklich funktioniert.

Falls das klappt, gib mir Bescheid. Dann habe ich wieder was gelernt.


mfg

WB
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bild in 64K Schritten in SQL-Datenbank speichern 
Autor: Akop
Datum: 28.10.11 08:35

OK, Danke, werde sofort ausprobieren, und dann gib ich es dir bescheid
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bild in 64K Schritten in SQL-Datenbank speichern 
Autor: Akop
Datum: 28.10.11 09:14

Es funktioniert perfekt, danke vielmals
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bild in 64K Schritten in SQL-Datenbank speichern 
Autor: wb-soft
Datum: 28.10.11 11:28

Hi!

Freut mich, daß es funktioniert. Dabei habe ich auch was dazugelernt.

Noch ein Satz zu deinem Code:
In Bezug auf Performance und Ressourcenschonung gibt es Verbesserungsmöglichkeiten.

Wenn du einen bestimmten Datensatz bearbeiten willst, öffne ein Recordset mit diesem einen Datensatz. Damit wird weniger Speicher belegt, es entsteht weniger Traffic, und du ersparst dir die Schleife zum Suchen des Datensatzes.

In weiter Folge kannst du, falls der gesuchte Datensatz nicht existiert, einen Neuen anlegen.


mfg

WB
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bild in 64K Schritten in SQL-Datenbank speichern 
Autor: Akop
Datum: 28.10.11 12:16

Danke für den Tipp,
werde sofort machen
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bild in 64K Schritten in SQL-Datenbank speichern 
Autor: wb-soft
Datum: 28.10.11 12:29

Hi!

Hab noch was vergessen:
UpdateBatch ist eigentlich für den Fall, daß mehrere Änderungen gemacht wurden.
Bei einem Datensatz genügt Update. Anscheinend hat es aber keine negative Auswirkung.


mfg

WB
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bild in 64K Schritten in SQL-Datenbank speichern 
Autor: Akop
Datum: 28.10.11 14:35

Noch mal danke,

aber bei Update tut sich bei mir rein gar nix.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bild in 64K Schritten in SQL-Datenbank speichern 
Autor: wb-soft
Datum: 28.10.11 15:48

Hi!

Seltsam, aber wie gesagt scheint es mit UpdateBatch keine negativen Auswirkungen zu haben.

Laß es ganz einfach so. Die Hauptsache ist, daß es funktioniert.


mfg

WB
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel