Implizite Umstellung vom datatyp varchar auf varbinary (max) ist nicht erlaubt

CREATE PROCEDURE uspInsertImage @PCImage varbinary(max) As Begin INSERT INTO dbo.PCInfo PCImage) VALUES (@PCImage) End 

Wenn ich schreibe

 EXEC uspInsertPC 'D:\Desktop.jpg' 

Fehler anzeigen

Implizite Umstellung vom datatyp varchar auf varbinary (max) ist nicht erlaubt. Verwenden Sie die CONVERT-function, um diese Abfrage auszuführen.

Sie werden versucht, einen String in eine binäre Spalte zu speichern, weshalb Sie diesen Fehler erhalten

Sie sollten dem SQL-server mitteilen, dass Sie einen anderen Quellanbieter verwenden, indem Sie OPENROWSET verwenden

Du solltest etwas tun:

 INSERT INTO BLOBTest (BLOBName, BLOBData) SELECT 'First test file', BulkColumn FROM OPENROWSET( Bulk 'C:\temp\nextup.jpg', SINGLE_BLOB) AS BLOB 

Weitere Informationen finden Sie unter:

http://www.databasejournal.com/features/mssql/article.php/3724556/Store-Images-und-BLOB-files-in-SQL-server-Part-2.htm