ورود

View Full Version : filestream در ACCESS



mhamedm2008
جمعه 29 اسفند 1393, 01:21 صبح
با سلام
من می خواهم توی ACCESSو از طریق VBA با filestream SQL ارتباط برقرار کنم و فایل ها را در آن ذخیره و فراخوانی کنم
باید چی کار کنم؟
در این خصوص هیچ اطلاعاتی ندارم
دوستان کمک کنند

Abbas Amiri
یک شنبه 16 فروردین 1394, 23:12 عصر
با سلام
من می خواهم توی ACCESSو از طریق VBA با filestream SQL ارتباط برقرار کنم و فایل ها را در آن ذخیره و فراخوانی کنم
باید چی کار کنم؟
در این خصوص هیچ اطلاعاتی ندارم
دوستان کمک کنند

سلام
شما میتونید از Adodb.Stream استفاده کنید که متدهای SaveToFile و LoadFromFile داره یک جستجو کنید نمونه پیدا می کنید.
در مورد فایلهای تصویری و تکست مطمئن هستم که درست عمل می کنه.
موفق باشید

mhamedm2008
پنج شنبه 20 فروردین 1394, 23:52 عصر
استریم برای کار فایل با حجم های زیاد می باشی.مثلا 200 مگ.توی تیبل sql ذخیره نمیشه. پس با این متد فکر نکم بشه
اگر اشتباه میکنم بگویین!!؟؟؟؟

Abbas Amiri
جمعه 21 فروردین 1394, 13:13 عصر
استریم برای کار فایل با حجم های زیاد می باشی.مثلا 200 مگ.توی تیبل sql ذخیره نمیشه. پس با این متد فکر نکم بشه
اگر اشتباه میکنم بگویین!!؟؟؟؟

سلام
شما با این روش با فایل های حجیم هم می توانید کار کنید .
به لینک زیر مراجعه و مثال آنرا ببینید.
http://www.experts-exchange.com/Database/MS_Access/Q_26923910.html

mhamedm2008
یک شنبه 23 فروردین 1394, 16:30 عصر
ظاهرا مشاهده پاسخ در این سایت رایگان نیست. و فقط سوال در آن وجود داردو
درصورت امکان پاسخ را در اینجا قرار دهید تا همگان از آن استفاده نمایند
با تشکر

Abbas Amiri
یک شنبه 23 فروردین 1394, 20:06 عصر
ظاهرا مشاهده پاسخ در این سایت رایگان نیست. و فقط سوال در آن وجود داردو
درصورت امکان پاسخ را در اینجا قرار دهید تا همگان از آن استفاده نمایند
با تشکر

سلام
این سایت بعضی مواقع اتفاقی باز است . مثالی که در آن بود دارای 2 سابروتین یکی(AddFile) جهت ذخیره یک فایل در جدول مشخص و دیگری (ReadFile) جهت خواندن فایل از تیبل و ذخیره آن است ، می باشد.
آرگومانهای روالها یکی مسیر فایل و دیگری فیلد Description در جدول است.
Option Compare Database
Option Explicit

Sub AddFile(strDescription As String, strFilename As String)
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim objStream As New ADODB.Stream

'create the stream
objStream.Type = adTypeBinary
objStream.Open
objStream.LoadFromFile strFilename

con.Open "PROVIDER=SQLOLEDB.1;PERSIST SECURITY INFO=FALSE;INITIAL CATALOG=FS;DATA SOURCE=(local)\sqlexpress2008r2;INTEGRATED SECURITY=SSPI"
rs.Open "Select * from FSTest", con, adOpenDynamic, adLockOptimistic
rs.AddNew
rs!Description = strDescription
rs!FS = objStream.Read
rs.Update
rs.Close
objStream.Close
con.Close
End Sub

Sub ReadFile(strDescription As String, strFilename As String)
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim objStream As New ADODB.Stream

'create the stream
objStream.Type = adTypeBinary
objStream.Open

con.Open "PROVIDER=SQLOLEDB.1;PERSIST SECURITY INFO=FALSE;INITIAL CATALOG=FS;DATA SOURCE=(local)\sqlexpress2008r2;INTEGRATED SECURITY=SSPI"
rs.Open "Select * from FSTest where Description = '" & strDescription & "'", con, adOpenDynamic, adLockOptimistic
If Not rs.EOF Then
objStream.Write rs!FS
objStream.SaveToFile strFilename, adSaveCreateOverWrite
objStream.Close
End If
rs.Close
con.Close
End Sub