View Full Version : سوال: insert FileStram in database
almaswert
یک شنبه 01 آذر 1388, 18:03 عصر
من یک داده ای از نوع filestream دارم به چه روشی می توانم داده را در table ای در database ذخیره کنم و نوع ستون را در TAble از نوع VarBinary تعریف کرده ام. لطفا اگر میشه راهنمایی فرمایید.در SqlServer 2005
Reza.ariyan
یک شنبه 01 آذر 1388, 22:15 عصر
اگه منظورتون اینه
CREATE TABLE Test
(
Files VARBINARY(MAX) NOT NULL
)
Go
INSERT dbo.Test
(Files)
SELECT BulkColumn
FROM OPENROWSET(BULK '******' , Single_Blob) AS Files
که هیچی
به جای ****** آدرس فایل
وگر نه سوالتون رو کاملتر کنید و توضیح بیشتر بدید
آخه SQL2005 که نوع Filestream رو ساپورت نمیکنه
almaswert
دوشنبه 02 آذر 1388, 07:14 صبح
[
FileStream fileStreamUpdateFile = new FileStream(FilePath+strFileName, FileMode.Open);
BinaryReader binaryReaderUpdateFile = new BinaryReader(fileStreamUpdateFile);
byte[] ImageBytePersonelPic = null;
Convert.ToInt32((fileStreamUpdateFile.Length));
ImageBytePersonelPic = binaryReaderUpdateFile.ReadBytes(Convert.ToInt32(( fileStreamUpdateFile.Length)));
return ImageBytePersonelPic;
CODE]
[/CODE]
Reza.ariyan
دوشنبه 02 آذر 1388, 13:48 عصر
این جدولی که فایل استریم در اوون ذخیره میشه
CREATE TABLE [dbo].[FileTest]
(
[ID] [int] IDENTITY(1 , 1)
NOT NULL,
[File] [varbinary](50) NOT NULL,
CONSTRAINT [PK_ImageTypeTest] PRIMARY KEY CLUSTERED ([ID] ASC)
WITH (PAD_INDEX=OFF , STATISTICS_NORECOMPUTE=OFF , IGNORE_DUP_KEY=OFF ,
ALLOW_ROW_LOCKS=ON , ALLOW_PAGE_LOCKS=ON) ON [PRIMARY]
)
ON [PRIMARY]
این هم SP که کار Insert تو جدول رو انجام میده
CREATE PROCEDURE SP_INSERT
@File VARBINARY(50)
AS
BEGIN
INSERT INTO dbo.FileTest
( [File] )
VALUES (@File)
END
GO
حالا میتونی تو برنامت این SP رو با پارامتر File@ که همون Filestream ت میشه Call کنی و مقدار رو تو جدول ذخیره کنی
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.