Stai scrivendo nel DB come BLOB o traducendo i dati in qualche forma, quindi eseguendo inserimenti per ogni riga?
La tua risposta nei commenti mi ha confuso. Scrivere uno stream in una colonna BLOB è molto diverso da ottenere i dati e poi tradurli in inserti per righe separate.
Indipendentemente da ciò, è possibile eseguire lo streaming in una colonna BLOB creando prima la riga con la colonna BLOB in cui è necessario inserire, chiamando ripetutamente un'istruzione di aggiornamento:
update myTable set myColumn.Write(@data, @offset, @length) where someid = @someId
per blocchi di byte dal flusso.
Esempio perfetto che si trova qui.