Das Notes Forum

Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: halle am 24.09.14 - 14:49:55

Titel: MSSQL BLOB Feld auslesen und als PDF speichern
Beitrag von: halle am 24.09.14 - 14:49:55
Hallo,

ich versuche aus einer MSSQL Datenbank ein PDF einzulesen welches in einem varbinary(max) Feld gespeichert ist.

Hier mein code was ich bis jetzt habe!

###############################
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim con As New ODBCConnection
Dim qry As New ODBCQuery
Dim result As New ODBCResultSet
Dim KundenNr As String
Dim KundenNrAuswahl As String
Dim Rechnungsnummer() As String
Dim i As Integer
   
Set doc = ws.Currentdocument.Document
KundenNr = doc.Getitemvalue("KundenNr")(0)
   
Call con.ConnectTo( adbFileName ,"xxx","xxx") ' Connectstring mit User und Passwort
   
   If Not (con.Isconnected()) Then
      Call schreibeNotesErrorLog(4000,"Datenquelle nicht verbunden")
      Exit Sub
   End If
   
   'Eigentliche Abfrage
   Set qry.Connection = con
   Set result.Query = qry
   qry.SQL = "SELECT [KundenNr],[RechnungsNr],[Jahr],[DatumRechnung]  FROM [Daten].[dbo].[Rechnungskopf] WHERE [KundenNr] = " & KundenNr
   
   result.Execute
   
   i = 0
   If result.IsResultSetAvailable Then
      Do
         result.NextRow
         i= i +1
      Loop Until result.IsEndOfData
   End If
   result.Execute
      
   ReDim Rechnungsnummer(0,i) As String   
   i = 0
   If result.IsResultSetAvailable Then
      Do
         result.NextRow
         Rechnungsnummer(0,i) =  result.Getvalue("RechnungsNr") & " vom " & result.Getvalue("DatumRechnung")
         i= i +1         
      Loop Until result.IsEndOfData
   End If
   
   
   KundenNrAuswahl = ws.Prompt(PROMPT_OKCANCELLIST, "Rechnung wählen", "Auswahl?", "",Rechnungsnummer)
   'MessageBox(strLeft(KundenNrAuswahl," vom "))
   
   qry.SQL = "SELECT [Rechnung],[RechnungsNr] FROM [Daten].[dbo].[Rechnungskopf] WHERE [RechnungsNr] = " & StrLeft(KundenNrAuswahl," vom ")  

   result.Execute
###############################

Jetzt müsste ich doch noch result.getvalue("Rechnung") als PDF abspeicher, aber wie geht das?

Hat einer eine Idee, ich komm da nicht weiter?


Halle
Titel: Re: MSSQL BLOB Feld auslesen und als PDF speichern
Beitrag von: spookycoder am 01.10.14 - 14:47:53
Hi,

IMHO müsste der Rückgabewert von result.Getvalue("Rechnung") ein ByteArray sein.

Dieses ByteArray in einen NotesStream (siehe Designer-Hilfe) geschrieben sollte Dein PDF ergeben.

lg

Harald