3 Stimmen

SQL Server 2008 R2 zum Speichern von Multimedia

Wenn ich mp3-Dateien oder Bilder (hauptsächlich JPEG) in einer Tabelle speichere, scheinen die Daten verändert zu werden. Wenn ich den Inhalt der Tabelle zurück auf meinen lokalen Rechner lade und einen Vergleich zwischen den Originaldaten durchführe, ist es offensichtlich, dass die Dateien nicht dieselben sind. Außerdem sind die Dateien auf meinem lokalen Rechner nicht anzeigbar/abspielbar.

Haben Sie eine Idee, was die Ursache dafür sein könnte? Ist es ein Problem mit dem Datentyp varchar?

Ich rufe die Daten über die Option "Ergebnisse speichern unter" ab, wähle alle Dateien aus und wende die richtige Erweiterung an.

Außerdem ist es für ein Schulprojekt und die Einschränkungen sind nicht flexibel (muss vollständig in SQL implementiert werden)

Und noch etwas: Wie wäre es mit der Speicherung eines Zeigers auf das Multimedia-Programm? Wie würde ich das anstellen?

Hier ist mein Code:

USE master
----created in master schema

drop table blobtable

CREATE TABLE blobtable
  (BLOBData varchar(MAX))

BULK INSERT blobtable
FROM 'C:\Murach\SQL Server 2008\test.mp3'

select * from blobtable

3voto

Joshua Punkte 7942

Sie sollten binäre Daten nicht in einer VARCHAR Spalte. Zumindest sollten Sie die VARBINARY Datentyp, oder wenn Sie können, verwenden Sie eine FILESTREAM . Sie erwähnen, dass dies für den Unterricht ist und Ihre Möglichkeiten begrenzt sind, aber es stellt sich heraus, dass Sie binäre Daten aus einer T-SQL-Anweisung eingeben können:

CREATE TABLE EmployeeProfile ( 
  EmpId INT, 
  EmpName VARCHAR(50) not null, 
  EmpPhoto VARBINARY(max) not null
)
GO 

INSERT EmployeeProfile (EmpId, EmpName, EmpPhoto) 
SELECT 1001, 'Vadivel', 
BulkColumn from Openrowset( Bulk 'C:\Blue Lace 16.bmp', Single_Blob) as EmployeePicture

(aus windowsclient.net/blogs/zuker )

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X