Я пытаюсь сохранить файл в тип данных Image с помощью встроенного запроса.
INSERT INTO tblPDFInfo(FileImage, PdfFileName, FeedDateTime, HasProcessed)
VALUES(@fileBytes, @fileName, getutcdate(), 0)
, а затем, если я использую string.format
, тогда он рендерит байтовый массив в строку, и поэтому он не приносит удачи.
Другой способ, если я создам sqlcommand и
objCmd = new SqlCommand(strSQL, objConn, objTrans);
objFileDataParam = new SqlParameter("@fileBytes", SqlDbType.Image);
objFileDataParam.Value = (byte[])fileData;
objCmd.Parameters.Add(objFileDataParam);
objFileNameParam = new SqlParameter("@fileName", SqlDbType.VarChar);
objFileNameParam.Value = PDFfileName;
objCmd.Parameters.Add(objFileNameParam);
objCmd.CommandText = strSQL;
Тогда при запуске запроса он говорит
System.Data.SqlClient.SqlException: необходимо объявить скалярную переменную
"@fileBytes"
И если во встроенном запросе я объявляю ту же самую переменную, то это также дает мне ошибку, говорящую
System.Data.SqlClient.SqlException: имя переменной '@fileBytes'
уже было объявлено. Имена переменных должны быть уникальными в пределах
запросить пакет или хранимую процедуру.
Как я мог исправить это, чтобы заставить его работать. Ну, я не привязан к определенному типу данных, но мне нужно сохранить файл, а затем извлечь его, я думаю, что тип данных изображения был бы хорошим выбором, но не смог этого сделать. Любые предложения действительно помогут.