۱۶-اسفند-۱۳۸۶, ۲۳:۲۱:۵۸
صفحهها: 1 2
۱۷-اسفند-۱۳۸۶, ۱۰:۴۶:۱۷
سلام.
من از اکسس تو يه برنامه اي استفاده کردم که بعد از يه مدت رکورداش به حدود 2 ميليون رسيد.
موقعي که حتي مي خواي اطلاعات داخل يه همچين ديتابيسي رو سرچ يا في*لتر کني تسک منيجر رو باز کن مي بيني که درصد استفاده از CPU به 100 مي رسه و عملا حدود 2 ثانيه تو اين موقعيت مي مونه.
حالا حساب کن اگه 50 نفر همزمان (به قول دوستمون) بخوان از اين ديتابيس استفاده کنند چه اتفاقي مي افته.
اين حالت موقعي خودشو بيشتر نشون ميده که بخواي از يه همچين ديتابيسي تو سايت مهم و پربازديد و تو يه هاست شير استفاده کني. بعد از دو روز ادمين سرور برات ميل مي زنه که آقا درصد استفاده از CPU شما بالاست و سايتتون بسته شد، حالا بيا و درستش کن.
Di Diجان استفاده از SQL خيلي راحته. تو انترپرايزش مي ري و ديتابيس و جدول هات رو مي سازيف وارد کردن و اتصال برنانمه به اون هم که زياد دردسر نداره.
من از اکسس تو يه برنامه اي استفاده کردم که بعد از يه مدت رکورداش به حدود 2 ميليون رسيد.
موقعي که حتي مي خواي اطلاعات داخل يه همچين ديتابيسي رو سرچ يا في*لتر کني تسک منيجر رو باز کن مي بيني که درصد استفاده از CPU به 100 مي رسه و عملا حدود 2 ثانيه تو اين موقعيت مي مونه.
حالا حساب کن اگه 50 نفر همزمان (به قول دوستمون) بخوان از اين ديتابيس استفاده کنند چه اتفاقي مي افته.
اين حالت موقعي خودشو بيشتر نشون ميده که بخواي از يه همچين ديتابيسي تو سايت مهم و پربازديد و تو يه هاست شير استفاده کني. بعد از دو روز ادمين سرور برات ميل مي زنه که آقا درصد استفاده از CPU شما بالاست و سايتتون بسته شد، حالا بيا و درستش کن.
Di Diجان استفاده از SQL خيلي راحته. تو انترپرايزش مي ري و ديتابيس و جدول هات رو مي سازيف وارد کردن و اتصال برنانمه به اون هم که زياد دردسر نداره.
۱۷-اسفند-۱۳۸۶, ۱۱:۴۳:۱۲
اگه اینقدر راحته ( و البته آقا مبین هم اون کتاب آموزشی رو واسه دانلود بزاره ! ) فکر کنم منم برم دنبال SQL . واسه استخدامی هم بهتره چون همه جا با SQL کار می کنن.
۱۸-اسفند-۱۳۸۶, ۱۰:۰۶:۰۹
سلام
من فكر مي كنم اگه آقاي DI DI يكم با SQL ور بره خودش ياد ميگيره. البته تا اين حد كه از اون به عنوان يك بانك اطلاعاتي استفاده كنه. زياد هم با اكسس فرق نمي كنه ( البته تو ساختن بانك )
منم همين جوري ياد گرفتم
من فكر مي كنم اگه آقاي DI DI يكم با SQL ور بره خودش ياد ميگيره. البته تا اين حد كه از اون به عنوان يك بانك اطلاعاتي استفاده كنه. زياد هم با اكسس فرق نمي كنه ( البته تو ساختن بانك )
منم همين جوري ياد گرفتم
۲۸-شهریور-۱۳۸۷, ۱۲:۴۴:۴۷
می تونم بپرسم این بحث جالب به کجا رسید؟؟؟؟؟
من می خوام یه برنامه بنویسم که کاربر برا کار کردنش یوزر و پسورد رو وارد کنه. این کار تو شرکت ها و حتی سازمان ها هستش.
اما من میخوام این کار روی اینترنت باشه.
از چه بانکی استفاده کنم بهتره و چطور این کار رو انجام بدم؟؟؟
و می خواستم بدونم که Di Di جان بالاخره چی کار کردی شما؟؟؟ با اکسس ساختی؟؟؟؟
رقتی sQL یاد بگیری بعد بسازی ؟؟؟؟ یا نه یاد گرفتی و ساختی؟؟؟
من می خوام یه برنامه بنویسم که کاربر برا کار کردنش یوزر و پسورد رو وارد کنه. این کار تو شرکت ها و حتی سازمان ها هستش.
اما من میخوام این کار روی اینترنت باشه.
از چه بانکی استفاده کنم بهتره و چطور این کار رو انجام بدم؟؟؟
و می خواستم بدونم که Di Di جان بالاخره چی کار کردی شما؟؟؟ با اکسس ساختی؟؟؟؟
رقتی sQL یاد بگیری بعد بسازی ؟؟؟؟ یا نه یاد گرفتی و ساختی؟؟؟
۱۲-دى-۱۳۸۷, ۰۹:۴۱:۳۱
به چند دلیل من میگم اکسس و بی خیال شین برین سراغ SQL:
1- اولا سرعت SQL و اکسس عمرا نداره
2- اگه شما جایی قراره استخدام شین از شما SQL میخوان نه اکسس
3- اگه شما قراره برنامه ای بنویسین که بانک اطلاعاتی داشته باشه قیمت برنامه ای که با SQL نوشته شده خیلی بیشتر از اکسس .
4- sql توی شبکه عالی کار می کنه.
منم یه سوال داشتم . من میخوام یه Windows APP بنویسم با C# که بتونم از طریق اون دیتابیسی رو که داخل سایت خودم رو در اختیار بگیرم. اگه کسی بلده کمک کنه
1- اولا سرعت SQL و اکسس عمرا نداره
2- اگه شما جایی قراره استخدام شین از شما SQL میخوان نه اکسس
3- اگه شما قراره برنامه ای بنویسین که بانک اطلاعاتی داشته باشه قیمت برنامه ای که با SQL نوشته شده خیلی بیشتر از اکسس .
4- sql توی شبکه عالی کار می کنه.
منم یه سوال داشتم . من میخوام یه Windows APP بنویسم با C# که بتونم از طریق اون دیتابیسی رو که داخل سایت خودم رو در اختیار بگیرم. اگه کسی بلده کمک کنه
۱۶-شهریور-۱۳۸۸, ۰۷:۱۷:۰۳
سلام
كاربر محترم tanhatarin روش استفاده از مسير رو درشبكه توضيه كرده اند. اين روش اولا فقط در شبكه هاي Workgroup بيشتر جوابم ميده، دوما اگر پايگاه داده اكسس داشته باشيد باشيد تنظيماتي رو از قبل روي Workspace اون انجام بدين تا چند كاربر بتونن همزمان از پايگاه داده استفاده كنند و خطايي هم مشاهده نكنند.
ضمنا شما نمي تونين از SQL Server توي هر برنامه استفاده كنين.
يادتون باشه اگر هر DBMSي رو در جاي خودش استفاده نكنيد جواب برعكسي رو ممكنه بده.
مثلا من خواستم از Oracle كار SQL Server رو بكشم، واقعا جواب نداد چرا؟ چون Oracle مربوط به مديريت داده هاي فوق العاده زياد است.
ضمنا در ايران متاسفانه قانون Copyright بصورت بين المللي اجرا نميشه، اگر اجرا ميشد:
شما ممكن بود مجبور بشين از dbase 2 استفاده كنين چون پولتون احتمالا به اكسس نميرسه چه برسه به SQL Server
كاربر محترم tanhatarin روش استفاده از مسير رو درشبكه توضيه كرده اند. اين روش اولا فقط در شبكه هاي Workgroup بيشتر جوابم ميده، دوما اگر پايگاه داده اكسس داشته باشيد باشيد تنظيماتي رو از قبل روي Workspace اون انجام بدين تا چند كاربر بتونن همزمان از پايگاه داده استفاده كنند و خطايي هم مشاهده نكنند.
ضمنا شما نمي تونين از SQL Server توي هر برنامه استفاده كنين.
يادتون باشه اگر هر DBMSي رو در جاي خودش استفاده نكنيد جواب برعكسي رو ممكنه بده.
مثلا من خواستم از Oracle كار SQL Server رو بكشم، واقعا جواب نداد چرا؟ چون Oracle مربوط به مديريت داده هاي فوق العاده زياد است.
ضمنا در ايران متاسفانه قانون Copyright بصورت بين المللي اجرا نميشه، اگر اجرا ميشد:
شما ممكن بود مجبور بشين از dbase 2 استفاده كنين چون پولتون احتمالا به اكسس نميرسه چه برسه به SQL Server
۳۰-آبان-۱۳۹۱, ۱۲:۰۹:۱۱
(۱۴-اسفند-۱۳۸۶, ۱۱:۳۰:۵۸)tanhatarin نوشته است: [ -> ]سلام
در مورد اينترنت متاسفانه من تا حالا اين كار رو نكردم ولي سعي مي كنم انجام بدم و نتيجش رو براتون بنويسم.
در مورد سوال دوم
تفاوتهايي كه كار در روي شبكه با حالت معمولي داره
يك بانك اكسس نمي تونه همزمان بيش از 6 كاربر رو ساپرت كنه . در ضمن با افزايش كار بران سرعت هم كاهش چشمگيري پيدا مي كنه.
راه حل :
شما بايد هميشه تو برنامتون بانك رو بسته نگه داريد. مثلا اگه از ado و يا ديتا اينوايرمنت و....استفاده مي كنين نبايد اون رو روي فرم بزارين كه با لود شدن فرم بانكتون باز شه .بلكه قبل از انجام عمليات دستور اپن رو بدين و بعد از پايان عمليات دستور كلوز رو . با اين دستور فقط زماني كه شما مثلا كامند رو كليك مي كنين بانك باز ميشه و بعد از انجام عمليات دوباره بسته ميشه. شايد براي باز و بسته شدن كمي زمان عمليات افزايش پيدا كنه ولي در مجموع روي شبكه سرعت شما مناسب خواهد بود. با اين كار كاربراي برنامه تعداد افرادي كه برنامه رو بالا هستن نخواهد بود بلكه فقط افرادي هستن كه در حال كار كردن با برنامه هستن.
مورد دوم هم كه به نظرم مهمه در مورد ويراش اطلاعات توسط كاربر هست. مثلا دو كار بر همزمان بخوان يه ركورد رو ويرايش كنن.
شما بايد به طريقي اجازه ويرايش از كاربر دوم رو بگيرين مثلا يه فيلد رو در بانك بزارين كه وقتي كار بر اول مي خواد ويرايش رو در اون ركورد انجام بده تيك بشه و وقتي كار بر دوم مي خواد همزمان اون رو ويرايش كنه بهش پيغام بده كه فيلد توسط كار بر ديگري در حال ويرايش هست و اجازه ويرايش رو ندارين تا زماني كه كار بر اول ويرايش رو انجام بده و تيك برداشته بشه .
موارد ديگه اي هم هست كه فكر نمي كنم به اندازه اين دو مورد اهميت داشته باشه و مطمئن هستم شما خودرتون به هنگام نوشتن برنامه حلش مي كنين. با اين وجود اگه به مشكلي بر خوردين خوشحال ميشم بتونم كمكي كرده باشم.
سلام
ممنون وسپاس گزارم از پاسخگویی شما.این قسمتی که دو کاربر یا بیشتر تحت شبکه بخواهند همزمان به ویرایش یک سطر از اطلاعات دست پیدا کنند را برایم بیشتر توضیح دهید که چگونه باید عمل کنم؟؟؟
ممنون
۳۰-آبان-۱۳۹۱, ۱۴:۳۷:۰۰
(۱۴-اسفند-۱۳۸۶, ۱۵:۴۴:۵۳)mbza11 نوشته است: [ -> ]سلام.
Di Di جان براي شبکه بهتره از SQL استفاده کني. اکسس تو شبکه يا کار نمي کنه يا اگه کر کنه ناقص و با خطاي ديتا هست.
سلام mbza11 عزيز.
حدود 6ماهه دارم سعي ميكنم يك برنامه تحت شبكه بنويسم با VB6 و اكسس . برنامه كامل شده تنها مشكل ارتباط با بانك سرور هست !!!!
هرچقدر تلاش كردم نتونستم.از SQLهم چيزي بلد نيستم .لطفا كمك كنيد تا با SQL بنويسم.
(۱۶-شهریور-۱۳۸۸, ۰۷:۱۷:۰۳)sohaib نوشته است: [ -> ]سلام
كاربر محترم tanhatarin روش استفاده از مسير رو درشبكه توضيه كرده اند. اين روش اولا فقط در شبكه هاي Workgroup بيشتر جوابم ميده، دوما اگر پايگاه داده اكسس داشته باشيد باشيد تنظيماتي رو از قبل روي Workspace اون انجام بدين تا چند كاربر بتونن همزمان از پايگاه داده استفاده كنند و خطايي هم مشاهده نكنند.
ضمنا شما نمي تونين از SQL Server توي هر برنامه استفاده كنين.
يادتون باشه اگر هر DBMSي رو در جاي خودش استفاده نكنيد جواب برعكسي رو ممكنه بده.
مثلا من خواستم از Oracle كار SQL Server رو بكشم، واقعا جواب نداد چرا؟ چون Oracle مربوط به مديريت داده هاي فوق العاده زياد است.
ضمنا در ايران متاسفانه قانون Copyright بصورت بين المللي اجرا نميشه، اگر اجرا ميشد:
شما ممكن بود مجبور بشين از dbase 2 استفاده كنين چون پولتون احتمالا به اكسس نميرسه چه برسه به SQL Server
سلام ;
حالا كه ميبينيد به پشتوانه ي قانون كپي رايت از همشون استفاده مي كنيم.
۳۰-آبان-۱۳۹۱, ۱۵:۳۷:۴۹
نقل قول: سلامشما فرض كن يك تيبل داري به نام Personel كه داخلش فيلدهاي زير رو داري :
ممنون وسپاس گزارم از پاسخگویی شما.این قسمتی که دو کاربر یا بیشتر تحت شبکه بخواهند همزمان به ویرایش یک سطر از اطلاعات دست پیدا کنند را برایم بیشتر توضیح دهید که چگونه باید عمل کنم؟؟؟
ممنون
No
Name
Family
Old
خوب حالا بايد يك فيلد ديگه هم بهش اضافه كني مثلا به نام Editable و از نوع Boolean
هر زمان كه خواستي ركودهاي اين جدول رو ويرايش كني قبل از هرچيز چك كن ببين مقدار Editable اون ركورد true باشه
اگر اين طور بود ابتدا مقدارش رو False كن و بعد به كار بر اجاز بده مقادير اون رو ويرايش كنه و زماني كه كار ويرايش تموم شد
و خواستي ديتابيس رو آپديت كني،مقدار Editable رو مجددا True كن.
مشخصه كه هنگام ويرايش هر ركوردي توسط كاربر مقدار Editable به False تغيير كرده و شما مي توني داخل برنامه بفهمي كه
اين ركورد در حال ويرايش هست يا خير
نقل قول: سلام mbza11 عزيز.برنامه نويسي تحت شبكه اونم با اكسس واقعا اعصاب خوردكن هست!! علاوه بر تمام مشكلات و محدوديت هاي ديتابيسي
حدود 6ماهه دارم سعي ميكنم يك برنامه تحت شبكه بنويسم با VB6 و اكسس . برنامه كامل شده تنها مشكل ارتباط با بانك سرور هست !!!!
هرچقدر تلاش كردم نتونستم.از SQLهم چيزي بلد نيستم .لطفا كمك كنيد تا با SQL بنويسم.
كه اكسس نسبت به SQL داره بايد تنظيمات امنيتي كلاينت و سرور رو هم بهش اضافه كني و بدوني كه ماكروسافت هم آب
پاكي رو رو دست كاربر ريخته و گفته دسترسي تحت شبكه ( البته اينترنتي ) به اين كامپوننتها رو ساپورت نمي كنه!!
به شما توصيه مي كنم در يك اقدام ساده ديتابيستون رو به SQL تغيير بديد
كل تغييراتي كه بايد اعمال كنيد اين هست كه يك بانك با تمام تيبل ها و فيلدهاي اكسستون رو داخل SQL بسازيد و از عنصر
Adodbc براي كانكت شدن به بانك استفاده كنيد ( اگر از عنصر data استفاده كرده باشيد بايد عناصر DataList و GridListرو هم
تغيير بديد ) و در نهايت از يك كانكشن استرينگ مربوط به SQL استفاده كنيد كه خود ويزارد Adodbc اين كار رو براتون مي كنه
باور بفرمائيد در عين سادگي بسيار كارامد و با اطمينان هست.
۰۶-آذر-۱۳۹۱, ۱۴:۰۹:۲۴
(۳۰-آبان-۱۳۹۱, ۱۵:۳۷:۴۹)Di Di نوشته است: [ -> ]نقل قول: سلامشما فرض كن يك تيبل داري به نام Personel كه داخلش فيلدهاي زير رو داري :
ممنون وسپاس گزارم از پاسخگویی شما.این قسمتی که دو کاربر یا بیشتر تحت شبکه بخواهند همزمان به ویرایش یک سطر از اطلاعات دست پیدا کنند را برایم بیشتر توضیح دهید که چگونه باید عمل کنم؟؟؟
ممنون
No
Name
Family
Old
خوب حالا بايد يك فيلد ديگه هم بهش اضافه كني مثلا به نام Editable و از نوع Boolean
هر زمان كه خواستي ركودهاي اين جدول رو ويرايش كني قبل از هرچيز چك كن ببين مقدار Editable اون ركورد true باشه
اگر اين طور بود ابتدا مقدارش رو False كن و بعد به كار بر اجاز بده مقادير اون رو ويرايش كنه و زماني كه كار ويرايش تموم شد
و خواستي ديتابيس رو آپديت كني،مقدار Editable رو مجددا True كن.
مشخصه كه هنگام ويرايش هر ركوردي توسط كاربر مقدار Editable به False تغيير كرده و شما مي توني داخل برنامه بفهمي كه
اين ركورد در حال ويرايش هست يا خير
سلام
این کد رو ببینید ،اگه مشکلی داره طبق توضیحی که دادید راهنمایی ام کنیدو اگه نه این قسمت//؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟را که مربوط به این توضیح میشه را راهنمایی ام کنید( ابتدا مقدارش رو False كن)!!!
ممنونکد:private void button2_Click(object sender, EventArgs e)
{
DataTable dt1 = new DataTable();
string s=string.Format("select editable from personel where editable=N'{0}'",radioButton1.Checked,radioButton2.Checked);
dt1 = dbc.SelectCommand(s);
if (dt1.Rows.Count>0)
{
//?????????????
string upd = string.Format(@"update personel set Name=N'{0}',Family=N'{1}',Old=N'{2}'",textBox2.Text,textBox3.Text,textBox4.Text);
dbc.ExecuteCommand(upd);
}نقل قول: سلام mbza11 عزيز.برنامه نويسي تحت شبكه اونم با اكسس واقعا اعصاب خوردكن هست!! علاوه بر تمام مشكلات و محدوديت هاي ديتابيسي
حدود 6ماهه دارم سعي ميكنم يك برنامه تحت شبكه بنويسم با VB6 و اكسس . برنامه كامل شده تنها مشكل ارتباط با بانك سرور هست !!!!
هرچقدر تلاش كردم نتونستم.از SQLهم چيزي بلد نيستم .لطفا كمك كنيد تا با SQL بنويسم.
كه اكسس نسبت به SQL داره بايد تنظيمات امنيتي كلاينت و سرور رو هم بهش اضافه كني و بدوني كه ماكروسافت هم آب
پاكي رو رو دست كاربر ريخته و گفته دسترسي تحت شبكه ( البته اينترنتي ) به اين كامپوننتها رو ساپورت نمي كنه!!
به شما توصيه مي كنم در يك اقدام ساده ديتابيستون رو به SQL تغيير بديد
كل تغييراتي كه بايد اعمال كنيد اين هست كه يك بانك با تمام تيبل ها و فيلدهاي اكسستون رو داخل SQL بسازيد و از عنصر
Adodbc براي كانكت شدن به بانك استفاده كنيد ( اگر از عنصر data استفاده كرده باشيد بايد عناصر DataList و GridListرو هم
تغيير بديد ) و در نهايت از يك كانكشن استرينگ مربوط به SQL استفاده كنيد كه خود ويزارد Adodbc اين كار رو براتون مي كنه
باور بفرمائيد در عين سادگي بسيار كارامد و با اطمينان هست.
صفحهها: 1 2