Ich benutze Microsoft SQL Server 2012 als DBMS, dort habe ich meine Datenbank, die Informationen über Fußballspieler enthält. Jeder Spieler hat eine Fotografie, und ich muss die Fotos der Spieler auf meinen Computer exportieren, ich denke, es ist möglich, dies über TSQL zu tun, so dass ich die Programmierung oder Bearbeitung meiner Anwendung zum Exportieren von Fotos vermeiden könnte.Exportieren von Bildern von einem SQL Server mit gespeicherten Prozeduren
Hier ist, was ich bisher getan:
MY SQL Code:
EXEC sp_configure 'show advanced options', 1 GO RECONFIGURE GO EXEC sp_configure 'xp_cmdshell', 1 GO GO RECONFIGURE
EXEC master..xp_cmdshell 'mkdir C: \ ImagesFromSql'
012.EXEC master..xp_cmdshell 'BCP "SELECT Foto FROM [Footballteam] [dbo] [Spieler].." Queryout "C: \ ImagesFromSql \ TestImage.jpg" -T N'
Wie Sie können sehen, mein Ordner ImagesFromSql ist auf "C: \" erstellt, auch ein Foto ist dort gespeichert, aber interessant ist, dass das Foto 361MB groß ist, also wahrscheinlich ist die Größe aller Fotos, die in der Datenbank enthalten sind? Und ich frage mich, wie könnte ich alle Bilder aus der Datenbank in diesem Fall exportieren, und ist es möglich, ihre Namen zu setzen, lassen Sie zum Beispiel Bildname als PlayerID, zum Beispiel 1.jpg, 2.jpg, 3.jpg .... 650.jpg ...
nach @ H.Fadlallah einige Antworten vorgeschlagen das ist, was ich bekommen:
Es ist unmöglich, Vorschaubild .. :)
Wieder nach @ H.Fadlallah Hilfe Ich habe diese Abfrage ausgeführt:
DECLARE @ID als int ERKLÄREN @SQL als varchar (4000)
DECLARE csr CURSOR FOR SELECT PlayerID VON [Footballteam]. [Dbo]. [Spieler]
OPEN csr
als nächstes in @ID VON csr FETCH
wÄHREND @@ FETCH_STATUS = 0
SET @SQL = 'BCP "SELECT Foto FROM [Footballteam]. [dbo]. [Spieler] WHERE PlayerID ="' BEGIN + CAST (@ID als varchar (10)) + 'Abfrage "C: \ ImagesFromSql \ '+ CAST (@ID als VARCHAR (10)) +' jpg" -T -f C: \ ImagesFromSql \ formatfile.fmt‘
EXEC Master ..xp_cmdshell @SQL
als nächstes in @ID VON csr FETCH
END
SCHLIEßEN csr AUFLÖSEN csr
Aber jetzt leer Bilder Ich bin immer, wahrscheinlich ich etwas .. verpasst (btw Datei formatfile.fmt wird in denselben Ordnern wie Bilder erstellt und ich habe den Binärwert für mein Photo-Attribut von 8 auf 0 geändert, wie H.Fadallah mir in einem anderen Post vorgeschlagen hat).
Diese eine sehr nützliche Frage, ich hoffe, so antworten Sie mit der rechten jemand geben! Ich muss auch auf diese Frage antworten! –