Thema Datum  Von Nutzer Rating
Antwort
18.03.2017 14:45:37 Dominik
NotSolved
19.03.2017 12:56:50 BigBen
NotSolved
29.03.2017 16:34:48 Dominik
NotSolved
29.03.2017 17:06:43 BigBen
NotSolved
30.03.2017 19:09:24 Dominik
NotSolved
30.03.2017 20:09:44 BigBen
NotSolved
31.03.2017 09:38:57 Dominik
NotSolved
01.04.2017 15:25:58 BigBen
NotSolved
03.04.2017 13:56:54 Dominik
NotSolved
03.04.2017 16:18:05 BigBen
NotSolved
04.04.2017 18:32:52 Gast3322
NotSolved
05.04.2017 21:24:41 Dominik
NotSolved
07.04.2017 15:41:11 BigBen
NotSolved
08.04.2017 12:51:19 Dominik
NotSolved
Rot Anfrage an SQL-Server per VBA-Code und Speichern der Rückgabe in ein Verzeichnis
08.04.2017 19:04:05 BigBen
*****
Solved
10.04.2017 21:03:04 Dominik
NotSolved
03.04.2017 13:56:54 Dominik
NotSolved

Ansicht des Beitrags:
Von:
BigBen
Datum:
08.04.2017 19:04:05
Views:
1109
Rating: Antwort:
 Nein
Thema:
Anfrage an SQL-Server per VBA-Code und Speichern der Rückgabe in ein Verzeichnis

Hallo,

freut mich auch, dass es so weit gekommen ist, zumal ich ja selbst keinen sql-Server zum Testen habe. Beruflich hatte ich viele Jahre mit einem MS SQL Server zu tun gehabt. Solange das Wissen noch einigermaßen aktuell ist, gebe ich es gerne weiter.

Sub Beispiel_Anfrage_SQL_Server() 'Code von https://social.msdn.microsoft.com/Forums/de-DE/a73a838b-ec3f-419b-be65-8b1732fbf4d0/connect-to-a-remote-sql-server-db?forum=isvvba
   
    Dim Cn As New ADODB.Connection
    Dim Server_Name As String
    Dim Database_Name As String
    Dim User_ID As String
    Dim Password As String
    Dim SQLStr As String
    Dim arrPicture() As Byte, lSize As Long
    
    Dim strFilename As String
    Dim iFile As Integer
    
    Dim rs As New ADODB.Recordset
    Set rs = New ADODB.Recordset
    Set Cn = New ADODB.Connection
      
    Server_Name = "Server_XYZ" ' Servername hier eingeben
    Database_Name = "Schilder" ' Datenbankname hier eingeben
    User_ID = "XYZ" ' User_ID hier eingeben
    Password = "abc" ' Passwort hier eingeben
    SQLStr = "SELECT Schilder.SVG as Bild " & _
            "FROM Sprachen INNER JOIN Schilder ON Sprachen.ID = Schilder.SprachenID" & _
            " WHERE (Sprachen.Sprache = N'DE_DE') AND (Schilder.MasterID = 10005)"
    Cn.Open "Driver={SQL Server};Server=" & Server_Name & ";Database=" & Database_Name & ";user id=" & User_ID & ";pwd=" & Password & ";"
      
      
    rs.Open SQLStr, Cn, adOpenStatic
    
    ' Auslesen des Bildes
    If Not rs.EOF Then
        lSize = rs.Fields("Bild").ActualSize
        ReDim arrPicture(lSize)
        arrPicture = rs.Fields("Bild").GetChunk(lSize) ' Testen, ob dieser Befehl geeignet ist
        'arrPicture = rs.Fields("Bild") ' Oder dieser Befehl?
        
        ' Schreiben des Bildes
        iFile = FreeFile()
        strFilename = "C:\Schild.svg"
        Open strFilename For Binary As #iFile
        Put #iFile, , arrPicture
        Close #iFile
    End If
       
    ' Tidy up
    rs.Close
    Set rs = Nothing
    Cn.Close
    Set Cn = Nothing
 
End Sub

Beim GetChunk-Befehl bin ich mir nicht ganz klar, ob es so funktioniert. Falls es fehlschlagen sollte, nimm einfach den Befehl darunter.

LG, BigBen


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
18.03.2017 14:45:37 Dominik
NotSolved
19.03.2017 12:56:50 BigBen
NotSolved
29.03.2017 16:34:48 Dominik
NotSolved
29.03.2017 17:06:43 BigBen
NotSolved
30.03.2017 19:09:24 Dominik
NotSolved
30.03.2017 20:09:44 BigBen
NotSolved
31.03.2017 09:38:57 Dominik
NotSolved
01.04.2017 15:25:58 BigBen
NotSolved
03.04.2017 13:56:54 Dominik
NotSolved
03.04.2017 16:18:05 BigBen
NotSolved
04.04.2017 18:32:52 Gast3322
NotSolved
05.04.2017 21:24:41 Dominik
NotSolved
07.04.2017 15:41:11 BigBen
NotSolved
08.04.2017 12:51:19 Dominik
NotSolved
Rot Anfrage an SQL-Server per VBA-Code und Speichern der Rückgabe in ein Verzeichnis
08.04.2017 19:04:05 BigBen
*****
Solved
10.04.2017 21:03:04 Dominik
NotSolved
03.04.2017 13:56:54 Dominik
NotSolved