سلام
دوستانی که برنامه نمونه ساده با استفاده از قابلیت فایل استریم sql server 2008 دارن رو بی زحمت بذارن که بقیه هم استفاده کنن
ممنون میشم
نمایش نسخه قابل چاپ
سلام
دوستانی که برنامه نمونه ساده با استفاده از قابلیت فایل استریم sql server 2008 دارن رو بی زحمت بذارن که بقیه هم استفاده کنن
ممنون میشم
سلام و درود.
ابتدا توصیه میکنم این پادکست مربوط به پست زیر رو دانلود کنید و صحبتهای دوستان عزیز آقای فرید و مسعود طاهری و حامد اکبری مقدم رو گوش کنید.
[برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
بعدا پست زیر رو مطالعه کنید :
[برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
در پایان هم تجربیات اتون رو در ذیل همین پست در اختیار بقیه ی دوستان بگذارید...
سلام به دوستان
من یه پروژه با قابلیت فایل استریم انجام دادم که مراحلی رو که انجام دادم خدمتتون عرض می کنم.
ابتدا ببینیم این فایل استریم چی هست:
معایب ذخیره سازی فایل*ها در دیتابیس یا استفاده از فایل سیستم متداول چیست؟
الف) اختصاص یافتن قسمتی از بافر SQL Server به این امر.
ب) با توجه به قرار گرفتن داده*های BLOB* در دیتابیس ، transaction log قابل توجهی تولید خواهد شد.
ج) بیش از 2GB را نمی*توان در فیلدهایی از نوع varbinary(max) ذخیره کرد.
د) به روز رسانی BLOB ها سبب ایجاد fragmentation می*شود.
مایکروسافت برای رفع این مشکلات در SQL Server 2008 قابلیت جدیدی را ارائه داده است به نام FileStream
FILESTREAM موتور دیتابیس اس کیوال سرور را با سیستم فایل NTFS یکپارچه می*کند؛ به این صورت که داده*های BLOB از نوع varbinary(max) را به صورت فایل بر روی سیستم ذخیره خواهد کرد. سپس با استفاده از دستورات T-SQL می*توان این فایل*ها را ثبت، حذف، به روز رسانی، جستجو و بک آپ گیری کرد. این قابلیت نیز از فیلدهای varbinary(max) استفاده می*کند؛ اما اکنون ویژگی و برچسب FILESTREAM به این نوع فیلدها الصاق خواهد شد. FILESTREAM data باید در FILESTREAM filegroups ذخیره شوند. FILESTREAM filegroups در حقیقت همان پوشه*های فایل سیستم می*باشند. به آن*ها data containers نیز گفته می*شوند که مرزی هستند بین ذخیره سازی داده*ها در فایل سیستم و در دیتابیس.
حالا مراحل انجام این کار بصورت عملی
ابتدا این قابلیت باید فعال باشه
Start > All Programs > Microsoft SqlServer 2008 > Configuration Tools > SQL Server Configuration Manager[برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]بعد این تنظیم رو انجام میدیم
در این مرحله یک دیتابیس می سازیم وتنظیمات فایل گروپ آن را به این شکل انجام می دهیم
[برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
طبق شکل زیر ، مسیری که درنظر دارید فایلها ذخیره شوند رو می نویسید (اسم پوشه)سپس نوعش رو از نوع فایل استریم قرار میدید و افزودن رومی زنید
نکته ای که باید قت کنید اینه که پوشه ای از قبل نباید به این نام در مسیر وجود داشته باشه
[برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
حالا این دستورات رو اجرا کنید
حالا یک جدول باید درست کنید مثل جدول زیرکد:use نام بانک اطلاعات
EXEC sp_configure filestream_access_level, 2
GO
RECONFIGURE
GO
در این جدول فقط ما آی دی و فایل در نظر گرفتیم
این مراحلی هست که می تونید فایل ها رو بدون ذخیره سازی در دیتابیس در دیسک ذخیره کنینکد:use scandata
CREATE TABLE test
(
PkId int Primary Key IDENTITY (1, 1),
Id uniqueidentifier NOT NULL Unique ROWGUIDCOL Default newid(),
FileSummary varbinary(MAX),
FileData varbinary(MAX) FileStream NULL
)
توسط دلفی هم می تونین با استفاده از کدهای زیر (که خیلی ساده نوشتم) فایلی رو انتخاب کنین و ذخیره کنین
591کد:procedure TForm1.Button2Click(Sender: TObject);
begin
opendialog1.Execute;
edit1.Text:=opendialog1.FileName;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
OutStream : TMemoryStream;
begin
OutStream := TMemoryStream.Create;
OutStream.LoadFromFile(edit1.Text);
ADOquery1.append;
ADOQuery1filedata.LoadFromStream(outstream);
ADOquery1.Post;
OutStream.Free;
end;
امیدوارم که این مطلب به دردتون بخوره و ازش استفاده کنین
سلام و درود.
دوستان در مورد ذخیره و بازیابی فرمتهای مختلف تصویری در FileStraeam سوال فرموده بودند که من فایل زیر رو برای راهنمایی و چگونگی استفاده آماده نمودم.
حتی الامکان از نسخه های جدید کامپایلر دلفی استفاده شود.
موفق و موید باشید