簡體   English   中英

不允許從數據類型varchar到varbinary(max)的隱式轉換

[英]Implicit conversion from data type varchar to varbinary(max) is not allowed

CREATE PROCEDURE uspInsertImage
@PCImage varbinary(max)
As
Begin

INSERT INTO dbo.PCInfo PCImage) 
VALUES (@PCImage) 

End

當我寫

EXEC uspInsertPC 'D:\Desktop.jpg'

顯示錯誤

不允許從數據類型varchar到varbinary(max)的隱式轉換。 使用CONVERT函數運行此查詢。

您嘗試將字符串保存到二進制列中,這就是您收到此錯誤的原因

您應該通過使用OPENROWSET告訴SQL服務器使用不同的源提供程序

你應該做以下事情:

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

有關詳細信息,請查看以下內容:

http://www.databasejournal.com/features/mssql/article.php/3724556/Storing-Images-and-BLOB-files-in-SQL-Server-Part-2.htm

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM