ايران ويج

نسخه‌ی کامل: نحوه ذخیره عکس در SQL
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3
سلام
می خواستم بدونم چطور می شه عکس رو در دیتابیس ذخیره کرد
اگه حوصله داشتید واسم توضیح بدید لطفاً
ممنون می شم
سلام

شما می تونی یک مقاله در این خصوص بخونی که یکی از دوستان من نوشته.
آدرسش هست:
http://vblog.persianblog.com
ولی هیچ وقت این کارو دیوونگی محضه !
همیشه اسم عکسه تو database ذخیره کن
سلام یک فيلد می سازی از نوع ایمیج بعد برای وارد کردن اطلاعات (منظورم عکس است). بعد با استفاده از يک برنامه که خودت می نويسی با هر زبانی عکس رو وارد بانکت می کنی
(۲۰-فروردین-۱۳۸۶, ۱۱:۵۲:۴۲)Erdik007 نوشته است: [ -> ]بعد با استفاده از يک برنامه که خودت می نويسی با هر زبانی عکس رو وارد بانکت می کنی
سلام
میشه اینو بیشتر توضیح بدین؟
ممنون
بفرمایین با چه زبانی می خواین تا کدش رو براتون بذارم
سلام
وی بی رو اگه کمکم کنین ممنون میشم
اول یه ایمپورت بزن:
کد:
Imports System.IO
حالا این کد ها رو توی Form_Load بنویس:
کد:
Dim Cnn As New SqlClient.SqlConnection
    Dim Comm As New SqlClient.SqlCommand
Cnn.ConnectionString = "Server=(local);Database=database_name;Trusted_Connection=True;"
            Cnn.Open()
            Comm.Connection = Cnn
            Comm.CommandType = CommandType.Text
Dim stream As New FileStream(My.Application.Info.DirectoryPath & "\pic_name.JPG", FileMode.Open)
Dim reader As New BinaryReader(stream)
Dim imgByte() As Byte
imgByte = reader.ReadBytes(stream.Length)
Dim strSQL As String
strSQL = "INSERT INTO table_name(field_name) VALUES (@Picture)"
Comm.Parameters.Add("@Picture", imgByte)
Comm.CommandText = strSQL
Comm.ExecuteNonQuery()
stream.Close()
سلام
من میخام عکسها رو توی یک فولدر ذخیره کنم و ادرسشون رو در دیتابیس ذخیره کنم (البته در سی شارپ)
اما نمیدونم چی رو باید در فیلد ادرس عکس قرار بدم و اصلا چیکار باید بکنم؟؟؟
لطفا کمک کنید
تشکر
سلام
من میخام عکسها رو توی یک فولدر ذخیره کنم و ادرسشون رو در دیتابیس ذخیره کنم (البته در سی شارپ)
اما نمیدونم چی رو باید در فیلد ادرس عکس قرار بدم و اصلا چیکار باید بکنم؟؟؟
لطفا کمک کنید
تشکر
سلام.
شما که سوالت با پاسخ همراه بود.
فرمودی میخوام آدرس عکس هارو در دیتابیس ذخیره کنم. پس دیگه مشکل کجاست؟
به جای فیلد عکسی که از نوع image یا باینری بود یه فیلد از نوع varchar برای آدرس عکس قرار میدید و آدرس عکس هارو داخلش ذخیره میکنید. فکر نمیکنم تو ذخیره رشته در دیتابیس مشکل داشته باشید.

البته دقت کنید با این کار احتمال خطای برنامتون میره بالا. چون محافظتی روی عکس ها نیست و به راحتی میشه پاکشون کرد.
اما اگه عکس در دیتابیس ذخیره بشه دیگه کسی نمیتونه پاکش کنه. مگه این که ادمین sql باشه.
البته این روش این مشکل رو ایجاد میکنه که حجم دیتابیس به شدت افزایش پیدا میکنه. تصور کنید 100 تا عکس 1 مگی در دیتابیس ذخیره شه حجم دیتابیس میره رو 100 مگ و همین طور افزایش پیدا میکنه.

من خودم تو یه پروژه برای جلوگیری از این مشکل قبل از ذخیره سازی عکس رو به jpg تبدیل میکردم و quality عکس رو هم میوردم پایین. همین طور سایز عکس رو کاهش میدادم تا حجم عکس به زیر 8 کیلو بایت برسه.

با توجه به نوع پروژه من این روش مناسب بود. شمام باید با توجه به نوع پروژتون تصمیم بگیرید. شاید پروژه شما در مورد پردازش عکس باشه و کیفیت عکس مهم تر از حجم دیتابیس باشه.

پس حساب شده تصمیم بگیرید.
با سلام : من می خوام اطلاعات زیادی را در فیلد باینری بانک SQL SERVER ذخیره کنم و با این کار حجم دتابیس به شدت افزایش پیدا خواهد کرد . آیا با افزایش حجم دتابیس مشکلی پیش نخواهد آمد.از راهنمایتان بی نهایت سپاسگذارم.در ضمن برنامه را با ویژوال بیسیک می نویسم.
صفحه‌ها: 1 2 3