
نوشته شده توسط
amir_alaki
با سلام
كد ثبت كه نوشتين چيه؟
بله مشکل از sp که عملیات insert را انجام می داد بود که این sp را اینجا میزارم برای همه ی کسانی که یه روزی به این مشکل برمی خورند و به این تاپیک می رسند البته این sp از نوع update می باشد به هر شکلی که دوست داشته باشید تغییرش دهید :
این sp بدون هیچ مشکلی کار میکنه و فیلد varbinary را در دیتابیس ذخیره می کنه .
ALTER PROCEDURE [dbo].[sp_LastExe_Update]
@CodeExe tinyint,
@NameFile nvarchar(254) = NULL,
@VersionFile int = NULL
AS
BEGIN
SET NOCOUNT ON;
DECLARE @SQL varbinary(max)
DECLARE @str nvarchar(400)
SET @str = N'SELECT @SQL = CAST( bulkcolumn AS VARBINARY(max) ) FROM '
SET @str =@str+ N' OPENROWSET( BULK '''
SET @str =@str+ @NameFile
SET @str =@str+ N''', SINGLE_BLOB ) AS x'
EXEC sp_executeSQL @str, N'@SQL varbinary(max) OUT', @SQL OUTPUT;
Update LastExe
Set
[namefile]=@NameFile,
[sizefile]=DATALENGTH(@SQL),
[VersionFile]=@VersionFile,
[datecreate]=getdate(),
[ExeFile]=@SQL
where
CodeExe=@CodeExe
END