ورود

نسخه کامل مشاهده نسخه کامل : درخواست آموزش: دلفی تحت شبکه (بانک اطلاعاتی)



romixery
27-10-2007, 09:48
دوستان عزیزم سلام
اوقات بخیر
تقاضای من بیشتر از حرفه ای های انجمن هست.
توی این انجمن همه آموزشهای مورد نیاز یه برنامه نویس برای دلفی هست. همه مبحثی کار شده جز یکی: اونم آموزش دلفی تحت شبکه هستش.
منظورم از دلفی تحت شبکه، شبکه اینترنت نیست، منظورم شبکه داخلیه. مثلا دوتا کامپیوتر بهم وصلن و هر دو می خوان از یه بانک اطلاعاتی در یه زمان استفاده کنن. مثل مدیر و منشی.
یا مثلا ببینیم کیا وصل شبکه هستن و الان متصلن و ... کلا کارایی که با شبکه می شه انجام داد.
راستش توی هیچ کتابی در مورد این مبحث، موضوعی ننوشتن. اگه نوشتن بهم معرفی کنین ممنون میشم!!!
تقاضای من:
از دوستانی که این مبحث رو بلدن خواهش می کنم یه آموزش هم در مورد این موضوع بدن تا هم من فیض ببرم هم بقیه دوستانی که اطلاعی ندارن.
پیشاپیش از همکاری دوستان عزیزم کمال تشکر رو دارم
موفق باشین
بای
../../1386
Romixery
(مثله نامه های اداری شد نه؟:27:)

NoneForce
27-10-2007, 09:54
سلام
بهتره يه مساله طرح كنيد تا بشه روش كار كرد و به نتيجه رسيد. اينطوري موضوع كلي است.

romixery
27-10-2007, 20:23
سلام
باشه مثل اينكه چاره اي نيست بايد يه مسئله طرح بشه:
خوب اينم مسئله:
دو يا n تا كامپيوتر داريم كه همشون به يه برنامه مجهزن كه مديريت نامه هاي اداري رو بر عهده داره.(مثل دفتر انديكاتور چون اتفاقا الان هم دارم روي همين پروژه كار مي كنم)
خوب حالا اين چندتا كامپيوتر با User هاي مختلف و سطح دسترسي هاي مختلف به اين برنامه وصلن. ميخوام ببينم چجوري بايد بانك رو بنويسم كه روي شبكه باشه و اين چند كامپيوتر از اون استفاده كنن.
مثلا اگه يه نامه رو مدير ثبت كرد. همزمان در شبكه، كاربران ديگه هم اين نامه ثبت شده رو در دسترس داشته باشن.
البته اينجا مسئله هاي ديگه اي هم هست. اگه اين يكي بد بود بگين يه چيز ديگه مطرح كنم.
آخه بابا در زمينه شبكه خدا مسئله ميشه طرح كرد ديگه!!!!!!!!
خوب بنده حقير دست ياري مطلبم.
موفق باشين
باي

F A R H A D
27-10-2007, 22:54
ميخوام ببينم چجوري بايد بانك رو بنويسم كه روي شبكه باشه و اين چند كامپيوتر از اون استفاده كنن

سلام. زمانی که مبحث شبکه پیش میاد اولین موردی که باید مد نظر قرار داد نحوه ارتباط با دیتابیس شبکه هست. برای این کار معمولا از ADO و بانک های اطلاعاتی ms sql , MySql , access استفاده میشه و با تنظیم صحیح connection string مربوط به کامپوننت های ado (و البته پیش بینی آینده که اگر نیاز بود توضیح میدم) میشه با بانک شبکه ارتباط برقرار کرد.


خوب حالا اين چندتا كامپيوتر با User هاي مختلف و سطح دسترسي هاي مختلف به اين برنامه وصلن

شما سطح دسترسی رو باید در سطح دیتابیس (نه برنامه) مشخص کنید. مثلا کاربر user1 فقط توانایی دیدن داده ها رو داشته باشه و لی user2 ویرایش رو هم بتونه انجام بده و ...

حالا منم به romixery کمک میکنم و مساله دیگه ای رو مطرح میکنم. سیستم نقد کردن چک رو در نظر بگیرید. اگر ما 2 چک از 1 حساب داشته باشیم و این 2 چک همزمان به دو بانک مختلف برده شه، (اگر فرض بر این باشه که موجودی حساب 10 هست و مبلغ چک اول 8 و مبلغ چک دوم 4 هست) متصدی بخش چک موجودی حساب رو برای چک اول نگاه میکنه، و رکورد مورد نظر رو در اختیار میگیره. در همین لحظه همین اقدامات برای چک 2 هم صورت میگیره. چون هنوز موجودی چک 1 از حساب کم نشده پس چک 2 پاس میشه و در همین لحظه چک 1 هم توسط بانک اول نقد میشه. پس 8+4=12 ! بانک بدبخت شد!

نتیجه: یکی از اصول بسیار مهم در طراحی برنامه های تحت شبکه مدیریت اعمال مختلف روی دیتابیس ها هست. state رو در دلفی جستجو کنید

موفق باشید

romixery
28-10-2007, 12:11
سلام
واقعا اگه اينجوري كه فرهاد جان ميگفتن ميشدن چي ميشد. بانكها مثل آدامس بادكنكي...:5:
دستور State رو ديدم. ولي طريقه استفاده از اون رو هم اگه بگين ممنون مي شم. يه مثال كوچيك از دستور كافيه.
خوب موضوع اينجاست كه من چجوري بايد بانك و كانكشن اون رو براي شبكه آماده كنم؟
موفق باشين
باي

F A R H A D
29-10-2007, 00:06
دستور State رو ديدم. ولي طريقه استفاده از اون رو هم اگه بگين ممنون مي شم. يه مثال كوچيك از دستور كافيه.




برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

البته این روش برای قفل کردن جدول هست و برای رکورد مفید نیست.


خوب موضوع اينجاست كه من چجوري بايد بانك و كانكشن اون رو براي شبكه آماده كنم؟

بستگي داره از چه بانکي استفاده کنيد

romixery
29-10-2007, 10:33
البته این روش برای قفل کردن جدول هست و برای رکورد مفید نیست.

سلام
اينم راه حل مشكلي كه مطرح كردين:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حله؟
بهتره توي Help دلفي يه نگاهي به Recordstatuse بندازين. همون چيزيه كه شما مي خواستين.
البته بجاي rsConcurrencyViolation ميشه چيزاي ديگه هم گذاشت. كه من مطمئن نيستم براي كاري كه شما ميگين اين مقدار يعني (rsConcurrencyViolation) مناسبه يا نه. شما هم ببينين. ببينين كدومش مناسبتره. چون يدونه ديگه هم به نام (rsPendingChanges) هم داره.

بستگي داره از چه بانکي استفاده کنيد
فعلا شما بانك رو Acsess بگيرين. اگه با همين راه افتادم. با MS SQL Server كار رو ادامه مي دم.
موفق باشين
باي

F A R H A D
30-10-2007, 00:39
اينم راه حل مشكلي كه مطرح كردين:
کد:

If rsConcurrencyViolation in ADOTable1.Recordstatuse then
Showmessage('This Record is used in other point. You can`t accses this record now');

حله؟
بهتره توي Help دلفي يه نگاهي به Recordstatuse بندازين. همون چيزيه كه شما مي خواستين.
البته بجاي rsConcurrencyViolation ميشه چيزاي ديگه هم گذاشت. كه من مطمئن نيستم براي كاري كه شما ميگين اين مقدار يعني (rsConcurrencyViolation) مناسبه يا نه. شما هم ببينين. ببينين كدومش مناسبتره. چون يدونه ديگه هم به نام (rsPendingChanges) هم داره.

متاسفانه این هم برای رکورد کارایی نداره.
برای lockکردن رکورد باید خاصیت lock type دیتاست رو روی ltPessimistic و cursor location رو روی clUseServer تنظیم کنید.


فعلا شما بانك رو Acsess بگيرين. اگه با همين راه افتادم. با MS SQL Server كار رو ادامه مي دم.

با access شبکه نکردم و اطلاعی ندارم. در آدرس دهی access با ip مشکل دارم. اگر دوستان کمک کنند ممنون میشم.


................
؟؟؟

romixery
30-10-2007, 10:39
متاسفانه این هم برای رکورد کارایی نداره.

سلام
آخه منم اين روش رو از توي گوگل سرچ كردم. تو يه سايت نوشته بود. حالا شما ميگين فايده اي نداره حتما نداره ديگه. آخه شما حرفه اي ترين.

...................

چون پست دوبار زده شده بود يكيشو اينجوري كردم.نمي دونم چرا بعضي وقتا پستها دوبار دوبار مي خورن.
موفق باشين
باي

romixery
05-11-2007, 21:44
سلام
راستش اينقدر اين تاپيك به انتهاي انجمن سقوط كرده بود كه يادم رفته بود اين تاپيك رو زدم
نا سلامتي درخواست آموزش داديم. ولي بحث به بيراهه رفت.
به هر حال الان دست حاجت مي طلبم.(بازم ادبي شد). هر كي درباره شبكه در دلفي مي دونه بسم ال...
مطمئنم خيليا مي خوان تحت شبكه كار كنن.
موفق باشين
باي

F A R H A D
05-11-2007, 23:55
دو بار ارسال شد......

F A R H A D
05-11-2007, 23:56
romixery عزیز اتفاقا برعکس شما من اصلا فکر نمیکنم بحث به بیراهه رفته باشه. قفل کردن رکورد و کنترل خطاهای همزمانی یکی از بحث های جنجالی شبکه هست که در آینده نزدیک بیشتر بحث میشه.

اما ارتباط با بانک شبکه:
با ado و sql server توضیح میدم:
بعد از دابل کلیک روی adoconnection باید build رو کلیک کنید. تا اینجا مثل اکسس.
از تب provider باید sql server انتخاب بشه
در صفحه بعدی برای server name چون برنامه فعلا روی سیستم خود شما اجرا میشه 127.0.0.1 یا localhost یا " . " رو وارد کنید. (معمولا این قسمت خالی گذاشته میشه و مبدا تمام مشکلات بعدی هست)
در قسمت information to log on باید یک log in معتبر برای sql server انتخاب کنید (یا ویندوز یا لاگین sql server)
در قسمت database on server هم با کلیک روی فلش کنار منو نام دیتابیس ها رو میبینید.
test connection> OK

فعلا تمام.
سوالی بود بفرمایید

romixery
06-11-2007, 14:44
سلام فرهاد جان
نبينم از دستم دلخور بشينا. منظورم اين بود كه من هنوز ابتداي كارم ولي بحث ما مربوط به يه خورده جلوتره.
لذا گفتم كه از صفر شروع كنيم بهتره. به هر حال از آموزشي كه دادين خيلي ممنون.
خوب ببينم براي كنترل ديتابيس تحت شبكه هم مثل ديتابيس شخصي بايد برنامه نويسي كنيم ديگه نه؟
راسش من هنوز نفهميدم كه چجوري دوتا كامپيوتر همزمان از يه ديتابيس استفاده ميشه. تا حالا كه طريقه كانكت شدن به بانك رو گفتين. پس بقيشم بگين ممنون ميشم.
اگه ميشه بعدش هم با بانك اطلاعاتي اكسس مباحث رو پيش ببرين. چون براي شروع دركش راحتتره. اگه ميبين فرقي نمي كنه مهم نيست. هر جور راحتترين. با SQL Server بگين.
بازم ممنون
در ضمن من از بقيه دوستان هم دعوت مي كنم توي اين بحث شركت كنن. آخه اگه فقط من و آقا فرهاد باشيم كه درست نيست!!!
موفق باشين
باي

F A R H A D
07-11-2007, 00:09
خوب ببينم براي كنترل ديتابيس تحت شبكه هم مثل ديتابيس شخصي بايد برنامه نويسي كنيم ديگه نه؟
100% همینطوره


راسش من هنوز نفهميدم كه چجوري دوتا كامپيوتر همزمان از يه ديتابيس استفاده ميشه.
روی سیستم خودت با روشی که گفتم به بانک متصل شو و بعد همزمان دو application رو اجرا کن و شروع کن به کار کردن. همین


اگه ميشه بعدش هم با بانك اطلاعاتي اكسس مباحث رو پيش ببرين. چون براي شروع دركش راحتتره. اگه ميبين فرقي نمي كنه مهم نيست. هر جور راحتترين. با SQL Server بگين.
توی پستهای قبلی عرض کردم که با access نمیتونم شبکه کار کنم. تمام کارها با ADO انجام میشه پس نوع دیتابیس فرق چندانی نمیکنه. به هر حال ms sql و MySql هست هر کدوم رو که راحت تری پیش میبریم.

ضمن تایید romixery عزیز من هم از دوستان دعوت به عمل می آورم (چی شد...) این تاپیک تا حالا با 13 پاسخ حدود 140 بازدید داشته پس معلومه دوستان علاقمند هستن. پس لطف کنید شما هم اطلاعات در این زمینه بدید (روی سخن با اساتید عزیزم بود)
پیروز باشید

hp1361
07-11-2007, 02:51
romixery عزیز اتفاقا برعکس شما من اصلا فکر نمیکنم بحث به بیراهه رفته باشه. قفل کردن رکورد و کنترل خطاهای همزمانی یکی از بحث های جنجالی شبکه هست که در آینده نزدیک بیشتر بحث میشه.

اما ارتباط با بانک شبکه:
با ado و sql server توضیح میدم:
بعد از دابل کلیک روی adoconnection باید build رو کلیک کنید. تا اینجا مثل اکسس.
از تب provider باید sql server انتخاب بشه
در صفحه بعدی برای server name چون برنامه فعلا روی سیستم خود شما اجرا میشه 127.0.0.1 یا localhost یا " . " رو وارد کنید. (معمولا این قسمت خالی گذاشته میشه و مبدا تمام مشکلات بعدی هست)
در قسمت information to log on باید یک log in معتبر برای sql server انتخاب کنید (یا ویندوز یا لاگین sql server)
در قسمت database on server هم با کلیک روی فلش کنار منو نام دیتابیس ها رو میبینید.
test connection> OK

فعلا تمام.
سوالی بود بفرمایید

سلام

از اين به بعد من همراه پروپاقرص شما خواهم بود .

آقا فرهاد اگه بخواهيم كاربر شماره IP سيستمي كه SQL SERVER روش نصبه رو تعيين و وارد كنه چه دستوري وارد كنيم . اصلا اين روش درستيه كه كاربر شماره اي پي رو وارد كنه ؟ چون اونوقت هر بار كه برنامه مياد بالا بايد اين شرط چك بشه كه فكر كنم صحيح نباشه .

ممنون و منتظرم

sp1000
07-11-2007, 06:08
با سلام

اتفاقا من هم دارم برنامه ای می نویسم که کارش تست زنی هست

و همانطور که romixery عزیز گفتند می خوام بشه چند نفر از آن همزمان استفاده کنند

من هر کاری می کردم خطا می داد و می گفت که جدول مثلا ( Information) که یکی جدول هام هستش در حال استفاده است

به هر حال romixery جان موضوع خوبی را مطرح کردند من تازه اینجا رد دیدم از امروز تات آخرش با شما هستم

حالا یه سوال مبتدی ؟

من تا حالا شبکه ندیدم که چه جوریه ؟
آیا اگه مثلا کامپیوتر 1 برنامه رو اجرا کنه کامپیوتر 2 روی مانیتورش اون برنامه ظاهر میشه یا نه ؟
اگه کامپیوتر 1 از برنامه استفاده کنه آیا کامپیوتر 2 اگه با زهم از همون برنامه همزمان استفاده کنه هر دو از همون جدولی که گفتم مثلا Information اطلاعات رو میگرند هر چند اگه هر کدوم با User های خودشون وارد بشن

البته من برای جلو گیری از بروز خطا از قبل برای هر User یک جدول آماده کرده ام که هر کدوم از User ها بتوانند بطور جداگانه ازش استفاده کنند و با این کار تنوستم جلو خطای جدولم رو بگیرم

اما ساختن جدول Database به جلو تعداد User ها رو محدود کرده یعنی اگه من 5 تا Database درست کردم فقط 5 User میتونند از این برنامه استفاده کنند

حالا من موندم چیکار کنم به هرحال تاپیک خوب و مفیدیه من که تا آخرش هستم

منتظرم
موفق باشید
بای

F A R H A D
08-11-2007, 00:58
آقا فرهاد اگه بخواهيم كاربر شماره IP سيستمي كه SQL SERVER روش نصبه رو تعيين و وارد كنه چه دستوري وارد كنيم . اصلا اين روش درستيه كه كاربر شماره اي پي رو وارد كنه ؟ چون اونوقت هر بار كه برنامه مياد بالا بايد اين شرط چك بشه كه فكر كنم صحيح نباشه .

دستور خاصی نداره. شما خودت باید یک الگوریتم برای این کار تعیین کنی. مثلا ip سرور رو در یک فایل متنی ذخیره کنی و هنگام اجرای برنامه از طریق فایل متنی مقدار ip رو به connectionstring در ado نسبت بدی.
برای این کار هم باید connectionstring رو به صورت متن وارد کنی نه بوسیله built
یک روش دیگه هم استفاده از فایل های udl هست ولی اولی ساده تره
موفق باشی

F A R H A D
08-11-2007, 01:12
آیا اگه مثلا کامپیوتر 1 برنامه رو اجرا کنه کامپیوتر 2 روی مانیتورش اون برنامه ظاهر میشه یا نه ؟
در مورد کار ما نه


اگه کامپیوتر 1 از برنامه استفاده کنه آیا کامپیوتر 2 اگه با زهم از همون برنامه همزمان استفاده کنه هر دو از همون جدولی که گفتم مثلا Information اطلاعات رو میگرند هر چند اگه هر کدوم با User های خودشون وارد بشن
برای خواندن اطلاعات هیچ مشکلی وجود نداره. مشکلات زمانی پیش میاد که دو کاربر همزمان یک رکورد رو ویرایش کنند


اما ساختن جدول Database به جلو تعداد User ها رو محدود کرده یعنی اگه من 5 تا Database درست کردم فقط 5 User میتونند از این برنامه استفاده کنند
یعنی برای هر user یک دیتابیس؟

romixery
08-11-2007, 12:59
سلام به دوستان عزيزم

یعنی برای هر user یک دیتابیس؟
بعيد مي دونم. نه فرهاد جان؟
پس من مراحل اوليه ديتابيس تحت شبكه رو ميگم ببينيد درسته يا نه. بعدش هم دوستان اصلاح كنن.
اول دو تا، يا N تا كامپيوتر رو با شبكة عادي به هم متصل مي كنيم. بايد كارت شبكه داشته باشيم. ديگه تنظيمات شبكه كردن دو تا كامپيوتر توي ويندوزه و ربطي به دلفي نداره.
نيازي نيست روي دوتا كامپيوتر SQLServer نصب باشه. حال برنامه رو روي دوتا كامپيوتر نصب مي كنيم. بعد همگي مي تونن از شبكه استفاده كنن. (به همين سادگيه؟)
يه سوال: وقتي من روي كامپيوتر خودم سرور رو مشخص مي كنم( كامپيوتر خودم) روي كامپيوتر طرف ديگه كه نصب مي كنم هم بايد نام سرور خودم رو انتخاب كنم ديگه نه؟ يا وقتي كه دو تا كامپيوتر به هم وصل شدند نام سرور من هم به نام سرورهاي روي كامپيوتر طرف اضافه ميشه؟
موفق باشين
باي

hp1361
08-11-2007, 16:11
دستور خاصی نداره. شما خودت باید یک الگوریتم برای این کار تعیین کنی. مثلا ip سرور رو در یک فایل متنی ذخیره کنی و هنگام اجرای برنامه از طریق فایل متنی مقدار ip رو به connectionstring در ado نسبت بدی.
برای این کار هم باید connectionstring رو به صورت متن وارد کنی نه بوسیله built
یک روش دیگه هم استفاده از فایل های udl هست ولی اولی ساده تره
موفق باشی

سلام مجدد

دوستان مشكل من دقيقاً همين ConectionString اِه هست كه نميدونم چي بايستي براش بنويسم . يعني اينكه چطور براش اي پي سرور رو مشخص كنم .
اصلا يه سواله ديگه كه ممكنه مربوط به شبكه باشه و ربطي به دلفي نداشته باشه اما به كارمون چرا: وقتي چند تا سيستم رو شبكه كرديم(البته كاربر نرم افزار ما اين كارو بكنه ها) پس بايستي اي پي سرورش رو اون چيزي كه ما بصورت پيش فرض واسه برنامه مشخص كرديم قرار بده؟درسته؟

اگه جواب سوال قبلي بله است لطفا مقاديري رو كه بايد در ConectionString مشخص كنيم بگيد و كار هر كدوم رو هم بگيد. من خودم وقتي با Build به بانكم روي سيستمم وصل ميشم چيزي كه نشان دهنده IP باشه رو نميبينم و حتي وقتي در قسمت ServerName عدد 127.0.0.1 رو وارد مي كنم ارور ميده .

راستي يه سوال بي مربوط ديگه . در سيني سيستم من آيكن مربوط به SQLSERVER با نام خودم(hp1361) داره كار ميكنه در صورتي ك وقتي وارد Interprise Manager ميشم تنها Local رو ميبينم . بالاخره اسم سرور من كدومشه؟

ممنون و ببخشيد كه طولاني بود

romixery
09-11-2007, 12:48
سلام
Hp1361 جان اتفاقا سوالتون اصلا بي ربط نيست. همين سوالهاي كوچيك ممكنه اگه پرسيده نشن به مشكلهاي بزرگ برسن. اصلا يكي از سوالهاي خودم هم همين بود. از اين اسما، اسم كامپيوتر ما كدومه؟
سوال قبلي من هم يه جورايي شبيه سوال فعلي شماست.
موفق باشين
باي

NoneForce
10-11-2007, 10:04
سلام
براي ديدن حالتهاي مختلف ConnectionString‌ اين سايت را ببينيد :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

1795
10-11-2007, 13:34
با سلام خدمت دوستان عزيز فعال
خيلي خوشحالم از اينكه مي بينم ارزوي من كه چندين ماه پيش درخواست اونرو دادم به واقعيت پيوست و دوستاني بحث شبكه رو در دلفي شروع كردند . من هم چند ماه پيش اين كار انجام دادم ولي متاسفانه كمك نكرد . خواستم بگم ضمن عرض تشكر ما هم هستيم و مصرانه بحث شما رو پيگيري مي كنيم .
اما:
چند نكته كه تا اينجا و با خوندن صحبتهاي شما عزيزان به ذهنم خطور كرد رو بگم :
1 - اصولا اگه برنامه تحت شبكه نوشته ميشه بايد دو قسمت داشته باشه يكي سمت سرور و يكي سمت كلاينت اما شما گفته بوديد برنامه رو روي همه كاميوتر ها نصب مي كنيم مگه اينكه از طريق يوزرها باش سطح دسترسي تعيين كنيم .
2- فكر ميكنم اگه ما بيايم و يك برنامه اي رو شروع كنيم و همه مراحل برنامه نويسيش رو بررسي كنيم بهتر نتيجه بگيريم و بهتر درك كنيم.

romixery
10-11-2007, 21:29
سلام
منم كاملا موافقم. چون در بين همين برنامه سوالهاي جديد، مشكلهاي احتمالي و خيلي چيزهاي ديگه معلوم ميشه كه رفع اينا خودش يه پا آموزشه.
موفق باشين
باي

1795
11-11-2007, 10:22
با سلام
خوب حالا كه شما هم موافقيد پس بهتره يه برنامه كه براي تحت شبكه مناسب هست پيشنهاد بدين بعد پايگاه داده اون رو هر كسي برا خودش طراحي كنه و بعد مرحله به مرحله برنامه رو جلوببريم البته هر كسي برا خودش ولي همه هماهنگ با هم . بعد مشكلات و سوالاتي كه برا هر كسي پيش مي ياد رو عنوان كنه تا با هم فكري حلش كنيم .
فققط شما رو به خدا زود اين كار رو انجام بديم و همه پيگير باشيم .
با تشكر صميمانه

F A R H A D
11-11-2007, 12:48
سلام دوباره. مثل اینکه تحریم تاپیک هم اثری نداشت. البته ممنون از NoneForce عزیز که کمک میکنن. چاره ای نیست. با اطلاعات ناقص خودم جواب میدم:


پس من مراحل اوليه ديتابيس تحت شبكه رو ميگم ببينيد درسته يا نه. بعدش هم دوستان اصلاح كنن.
اول دو تا، يا N تا كامپيوتر رو با شبكة عادي به هم متصل مي كنيم. بايد كارت شبكه داشته باشيم. ديگه تنظيمات شبكه كردن دو تا كامپيوتر توي ويندوزه و ربطي به دلفي نداره.
نيازي نيست روي دوتا كامپيوتر SQLServer نصب باشه. حال برنامه رو روي دوتا كامپيوتر نصب مي كنيم. بعد همگي مي تونن از شبكه استفاده كنن. (به همين سادگيه؟)
درسته و تقریبا به همین سادگیه


وقتي من روي كامپيوتر خودم سرور رو مشخص مي كنم( كامپيوتر خودم) روي كامپيوتر طرف ديگه كه نصب مي كنم هم بايد نام سرور خودم رو انتخاب كنم ديگه نه؟ يا وقتي كه دو تا كامپيوتر به هم وصل شدند نام سرور من هم به نام سرورهاي روي كامپيوتر طرف اضافه ميشه؟
فقط کافیه که کلاینت ها "نام" و یا "IP" سرور شما رو در connectionstring داشته باشند.

F A R H A D
11-11-2007, 12:53
دوستان مشكل من دقيقاً همين ConectionString اِه هست كه نميدونم چي بايستي براش بنويسم . يعني اينكه چطور براش اي پي سرور رو مشخص كنم
بستگی داره که شما از چه نوع تعیین هویتی (authentication) برای کاربرها استفاده کنید. دونوع تعیین هویت در ms sql وجود داره:
1-windows authentication
2-sql server authentication

برای مورد 1 از connectionstring زیر استفاده کنید:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


وقتي چند تا سيستم رو شبكه كرديم(البته كاربر نرم افزار ما اين كارو بكنه ها) پس بايستي اي پي سرورش رو اون چيزي كه ما بصورت پيش فرض واسه برنامه مشخص كرديم قرار بده؟درسته؟
اینطوری هم میشه اما انعطاف پذیری برنامه رعایت نمیشه. بهتره که آدرس سرور رو زمان اجرا load کنید


وقتي در قسمت ServerName عدد 127.0.0.1 رو وارد مي كنم ارور ميده
چه اروری؟


در سيني سيستم من آيكن مربوط به SQLSERVER با نام خودم(hp1361) داره كار ميكنه در صورتي ك وقتي وارد Interprise Manager ميشم تنها Local رو ميبينم . بالاخره اسم سرور من كدومشه؟
hp1361

F A R H A D
11-11-2007, 13:07
اصولا اگه برنامه تحت شبكه نوشته ميشه بايد دو قسمت داشته باشه يكي سمت سرور و يكي سمت كلاينت اما شما گفته بوديد برنامه رو روي همه كاميوتر ها نصب مي كنيم مگه اينكه از طريق يوزرها باش سطح دسترسي تعيين كنيم
منظور شما دقیقا مشخص نیست. برنامه ای که در این تاپیک از اون صحبت میشه فقط application ی برای کلاینها هست و روی سرور فقط دیتابیس وجود داره

1795
11-11-2007, 15:28
با سلام مجدد
ببينيد دوستان اينطوري نمي گم همه ولي من كه دارم گيج ميشم .بابا من كه گفتم بيايد يه برنامه خاص رو همه با هم دنبال كنيم تا بتونيم از همون برنامه مثال بزنيم تا همه بفهمند . شما اساتيد بزرگوار كه بهتر از من ناشي حاليتونه يه برنامه رو بگيد و جداول پايگاه داده اونو هم بگيد چيه و نوعش تا بريم و هر كسي در يك نرم افزار واحد مثلا sql server طراحي كنهو بعد كار برنامه نويسي اونو شروع كنيم تا يه كسي مثل من كه زياد بلد نيست هم بفهمه بايد از كجا شروع كنه . اينطوري ديگران هم كه بعدا به تايپيك مراجعه مي كنن مي تونن به راحتي بحث رو دنبال كنند و اين بحث به اندازه كافي جذاب هست منتها كس زيادي بلد نيست اما ما باتلاش و مطالعه و همفكري مي تونيم ازش سر در بياريم . پس اساتيد اگه موافقند لطف كنند يه پايگاه با جداولش رو پيشنهاد بدن .
قربونتون برم مرسي

as13851365
11-11-2007, 19:46
از دوستانی چون 1795 و romixery و hp1361 و sp1000 و مابقی دوستان کمال تشکر را دارم می دونم که کسانی که در زمینه دلفی و شبکه اطلاعات دارن خیلی نیستن اما باید از کسانی که حاضر شدن تا کمی از این اطلاعات را به ما هم یاد بدن خیلی خیلی تشکر کنیم

من از دوستانی چون NoneForce ویا farhad_g1 و یا سایر دوستان که زحمت می گشن و به سوالات ما جواب می دن خیلی خیلی تشکر می کنم

من با پیشنهاد آقای 1795 که گفته یک برنامه را با هم شروع کنیم موافق هستم یعنی اگر بشه که خیلی خوب می شه همه با هم از اطلاعات دوستان استفاده می کنیم و چیزی یاد می گیریم.

پستهای اول این بحث خیلی مقدماتی بود خیلی هم حال داد اما نمی دونم چرا دوستان یک راست رفتن سر اصل مطلب ؟

به نظر من بهترین نوع آموزش برای این جور مساعل نوشتن یک برنامه به صورت کام به کام است.

البته باید از دوستانی که در این زمینه اطلاعاتی دارند دعوت به عمل آید تا همه با هم از اطلاعات دوستان استفاده کنیم.

hp1361
12-11-2007, 00:50
چه اروری؟

hp1361

سلام : ايندفعه كه شماره اي پي رو وارد كردم اروري نداد

يه سوال ديگه: شركت ما يه برنامه داره كه درش از بانك SQLSERVER استفاده ميشه . بعد از نصب برنامه بايستي به قسمت زير رفته
Control panel->Administrave Tools->Data Source و در تب DSN يك Data Source جديد از نوع SqlServer اضافه كنيم كه براي اينكار هم IP سرور رو وارد ميكنيم و هم UserName & Password رو
اين كارا واسه چي انجام ميشه وايا ماهم بايد اين كارا رو انجام بديم؟

ممنون و منتظرم

1795
12-11-2007, 09:35
از دوستانی چون 1795 و romixery و hp1361 و sp1000 و مابقی دوستان کمال تشکر را دارم می دونم که کسانی که در زمینه دلفی و شبکه اطلاعات دارن خیلی نیستن اما باید از کسانی که حاضر شدن تا کمی از این اطلاعات را به ما هم یاد بدن خیلی خیلی تشکر کنیم

من از دوستانی چون NoneForce ویا farhad_g1 و یا سایر دوستان که زحمت می گشن و به سوالات ما جواب می دن خیلی خیلی تشکر می کنم

من با پیشنهاد آقای 1795 که گفته یک برنامه را با هم شروع کنیم موافق هستم یعنی اگر بشه که خیلی خوب می شه همه با هم از اطلاعات دوستان استفاده می کنیم و چیزی یاد می گیریم.

پستهای اول این بحث خیلی مقدماتی بود خیلی هم حال داد اما نمی دونم چرا دوستان یک راست رفتن سر اصل مطلب ؟

به نظر من بهترین نوع آموزش برای این جور مساعل نوشتن یک برنامه به صورت کام به کام است.

البته باید از دوستانی که در این زمینه اطلاعاتی دارند دعوت به عمل آید تا همه با هم از اطلاعات دوستان استفاده کنیم.

با سلام - از حمايت شما دوست عزيز سپاسگزارم

as13851365
12-11-2007, 11:45
با سلام - از حمايت شما دوست عزيز سپاسگزارم

خوب مثل این که کسی نمی خواهد برنامه ای مطرح کنه تا همه با هم بتونیم کار کنیم؟

من یک برنامه مطرح می کنم امیدوارم که اگر این برنامه از نظر بقیه دوستان اشکالی نداشت این برنامه را همه با هم شروع کنیم.

من برداشت خود را از برنامه های تحت شبکه چنین بیان می کنم :

1 ) 5 تا کامیپوتر داریم که روی چهار تای اونها ویندوز Xp نصب است و روی کامپیوتر شماره 5 سرور 2000 نصب است
2 ) همه کامپیوتر ها با هم شبکه هستند ( تا این جا که مشکلی نیست)
3 ) حالا ما یک بانک طراحی می کنیم و آن را در کامپیوتر شماره 5 ( سرور ) قرار می دهید ( مشکلی که نیست )
4 ) حالا ما باید برنامه ی خود را در کامپیوتر های 1 و 2 و 3 و 4 قرار دهیم این برنامه ها باید به بانکی که در کامپیوتر 5 ( سرور ) قرار دارد وصل بشن و اطلاعات را بخونند و بنویسند.


حالا برنامه ی پیشنهادی من :
برنامه پیشنهادی من یک دفتر تلفن است ( هم ساده است و هم همه می تونند اون را بنویسند مشکلی با برنامه نخواهیم داشت )
نکته : همه ی کامپیوتر ها می تونند به بانک اطلاعاتی را اضافه و یا اطلاعاتی را از بانک حذف و یا ویرایش کنند .

ما تا این جا را می دونستیم امیدوارم که بقیه دوستان کمک کنند و یا اگر یکی از دوستان برنامه ی بهتری در ذهن داره معرفی کنه تا همه این برنامه را تحت شبکه بنویسیم

romixery
12-11-2007, 12:29
سلام
بسيار بسيار خوب. پيشنهادتون عاليه. از همين دفترچه تلفن ساده كار رو شروع كنيم خيلي بهتر از اينه كه مستقيم بريم سر دستورات كنترلي.
در ضمن اين بهث بيشتر داره به تأييد و تمجيد منتهي ميشه. پس از دوستان خواهش مي كنم كه تئوري as13851365 جان رو قبول كنن و از حالا به اميد خدا نوشتن اين برنامه رو به صورت گام به گام شروع مي كنيم.
مي خوام كه از پست بعد دوستان پيشنهاد فيلدهاي بانك اطلاعاتي رو براي ساخت بانك دفترچه تلفن بدن .
پيشنهاد من:
-------------------------
فيلد Name از نوع Text
فيلد Family از نوع Text
فيلد PNumber از نوع Text
فيلد MNumber از نوع Text( مثلا براي موبايل)
-------------------------
البته همه از نوع Text شد. ولي اگه پيشنهاد ديگه اي دارين حتما بگين.
به اميد موفقيت شما دوستان دلفي كار عزيزم
باي

sp1000
13-11-2007, 07:00
من هم موافقم واقعا پیشنهاد جالبیه

حالا یه سوال ؟
با چه بانکی درستش کنیم ؟
اکسس ، Sqlserver , ...

اینجوری همه باهم از یک بانک استفاده می کنیم تا از نظر دیتابیس تقریبا مشکل غیر عادی نداشته باشیم

هر وقت همه مقدمات + دوستان + تلاش و پشتکار + وقت + وحوصله آماده شد

بگید تا کار رو با هم دیگه شروع کنیم

ان شاء الله که بتونیم توی این تاپیک (شبکه) به یک نتیجه درست و حسابی برسیم

منتظرما
بای

as13851365
13-11-2007, 09:43
به نظر من فرقی نمی کنه که چه بانکی باشه .
اما چون من فقط اکسس را اون هم کمی بلد هستم اگر اکسس باشه برای من بهتر است اما اگر دوستان با بانکهای دیگر ( Sql و غیره ) راحتر باشند برای من فرقی نمی کنه ( کمی وقت می زارم و اون را هم کمی یاد می گیرم ) .

دوستانی که در این زمینه تجربه دارند لطفا کار را شروع کنند و قدم به قدم پیش برند تا ما هم به اونها برسیم.

از دوستانی که در زمینه برنامه های تحت شبکه تجربه دارند خواهش می کنم در این بحث شرکت کنند.

F A R H A D
13-11-2007, 10:13
يه سوال ديگه: شركت ما يه برنامه داره كه درش از بانك SQLSERVER استفاده ميشه . بعد از نصب برنامه بايستي به قسمت زير رفته
Control panel->Administrave Tools->Data Source و در تب DSN يك Data Source جديد از نوع SqlServer اضافه كنيم كه براي اينكار هم IP سرور رو وارد ميكنيم و هم UserName & Password رو
تا حالا ندیدم اما میشه حدس زد. برنامه سرور شما با استفاده از ODBC به دیتابیس وصل میشه و DSN جدید باید برای کلاینتها شناخته شده باشه


ايا ماهم بايد اين كارا رو انجام بديم؟
اگر از connectionstring ی که گذاشتم استفاده کنی، نه!

1795
13-11-2007, 12:47
با سلام
خوب از يك طرف دفترچه تلفن برنامه ساده اي و براي ابتداي كار راحتتره ولي از طرف ديگه اگه بخوايم نمي گم زياد ولي كمي حرفه اي به كار بپردازيم جاي توسعه برنامه و ياد گيري مباحث بيشتر رو نداره البته بازم مي گم هر جور دوستان موافق باشند ولي بنظر من بهتره يه پايگاه داده با چند جدول باشه كه جاي مانور داشته باشه مثلا برنامه حسابرسي به چكهاي بانكي كه ميتونه شامل جداول و فيلدهاي زير باشه :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید




برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

به اين دليل اينو گفتم كه هم جاي اضافه كردن و پيشبرد و توسعه برنامه هست و هم اون مبحثي كه تو چند صفحه قبل دوستان اشاره كردند يعني قفل كردن پايگاه داده رو ميشه چك كرد .
دوستان لطف كنند زود نظرشون رو بگند . داره دير ميشه زود باشيد

romixery
13-11-2007, 19:21
سلام
1795 جان حرف شما درست ولي اگه شما تونستين با يه جدول تحت شبكه كار كنين با n‌ تا جدول هم مي تونين. بقيه كارا ديگه مثل برنامه نويسي براي ديتابيس غير شبكه اي هستش. فرقي نداره. من كه اول كار اين سوال رو از فرهاد جان پرسيدم.!!!
از دوستان خواهش مي كنم سوالهايي كه قبلا در موردشون بحث شده رو ديگه نپرسن. خودم شخصا اگه از بانك اطلاعاتي اكسس كار رو شروع كنم برام بهتره ولي فرهاد جان كه گفتن كار با بانك اكسس رو بلد نيستن. پس با همون SQL SERVER2000 شروع مي كنيم.
خوب ديگه منتظر چي هستين. اتم كه نمي خوايم بشكافيم. كاراي ابتدايي برنامه رو انجام بدين ديگه.
يه فرم. يه DBGrid. ADOConnection. ADOQuery . سه تا DBEdit Box براي كار روي محتويات. و يه DBNevigator براي كنترل ديتابيس. فقط بايد يه جدول تحت SQL Server براي دفترچه تلفنتون بسازين. همين.
اساتيد عزيز هم راهنمايي كنن. (گام به گام). شروع كنين.
موفق باشين
باي

sp1000
14-11-2007, 06:20
من درستش کردم با اکسس
منتظر دستور بعدی هستم
بای

as13851365
14-11-2007, 09:35
مثل این که همه برای خودش کار می کنه ( منظورم این است که آقای Sp1000 شما درستش کردید . چی رو ؟ )

از دوستان خواهش می کنم اول هر کاری بگن که چی رو می خوان درست کنند بعد بگن که تونستن یا نه ؟

من همان برنامه ای را که در پست 33 معرفی کردم را درست کردم و نام فیلد ها رو هم در پست 34 آقای romixery گفته انتخاب کردم.

بانک را اکسس انتخاب کردم.
برنامه دفتر تلفن
-------------------------
فیلد ID از نوع AutoNumber
فيلد Name از نوع Text
فيلد Family از نوع Text
فيلد PNumber از نوع Text
فيلد MNumber از نوع Text( مثلا براي موبايل)
-------------------------
حالا ادامه کار را به استادان می سپارم تا قدم به قدم ما را راهنمائی کنند.

امیدوارم که این برنامه را با موفقیت به اتمام برسانیم.

1795
14-11-2007, 12:58
با سلام
خوب ظاهرا دوستان ترجيح دادند كه كار رو با همون دفترچه تلفن شروع كنند . خوب اشكالي نداره براي من هم فرق زيادي نداره منتها من از سادگي زياد برنامه خوشم نمياد.ميمونه نرم افزار پايگاه داده و ورژن دلفي چون من خودم تا حالا هرچي كار كردم با 5 بوده و فكر كنم براي كار شبكه مناسب نيست بنابراين بهتره ورژن دلفي مورد نظر با ادرس دانلود اون معرفي بشه كه اگه در دسترس همه نيست بشه از اين طريق تهيه كرد . از طرف ديگه من فكر مي كنم چون قراره برنامه تحت شبكه باشه نبايد از كامپوننتهاي معمولي مثل adotable استفاده كرد و بايد كامپوننت مخصوص براي اينكار وجود داشته باشه البته من چون فقط با 5 كار كردم اطلاع زيادي در اين مورد ندارم . در مورد پايگاه داده هم من اكسس رو براي ابتداي كار پيشنهاد مي كنم چون هم كار كردن با اون راحته و تنظيمات خاصي نداره و هم در دسترس همه قرار داره اونايي هم كه با اسكيو ال سرور كار كرده باشند خيلي راحت ازش سر در ميارند .خوب در ابتدا بهتره دوستان پايگاه داده مورد نظر رو ايجاد كنند و پس از تعيين ورژن دلفي آموزش شروع بشه .
يه نكته ديگه هم كه ميخوام بگم اينه كه فقط متكي به دانسته هاي هم نباشيم بلكه خودمون هم توي هلپ دلفي و مطالعه سعي كنيم چيزايي ياد بگيريم و در اختيار همديگه قرار بديم و يادمون نره كه زكات علم اموختنه
قربون همتون باي

romixery
14-11-2007, 13:57
سلام
چون رايج ترين نسخه دلفي، ورژن 7 اونه لذا اينجا با ورژن 7 كار مي كنيم. البته دوستاني كه از ورژنهاي بالاتر هم استفاده مي كنن نبايد نگران باشن چون همه امكانات ورژن 7، بلكه بيشتر رو در اختيار دارن.
خوب ساخت بانك كه كاري نداره و فكر كنم همه انجامش دادن ديگه. الحاق كامپوننت ها و دادن Conection string هم كه ديگه همه بلدن. حالا بايد بحث شبكه رو شروع كنيم. اينجا ديگه من حرفي براي گفتن ندارم.
منتظر راهنمايي هاي اساتيد عزيز هستيم.
موفق باشين
باي

as13851365
14-11-2007, 18:20
خوب ساخت بانك كه كاري نداره و فكر كنم همه انجامش دادن ديگه. الحاق كامپوننت ها و دادن Conection string هم كه ديگه همه بلدن
من از دلفی 7 و آفیس XP استفاده می کنم.

درسته که ساخت بانک کاری نداره اما برای من یک سوال وجود داره و اون هم این است که :
آیا تمام تنظیم هایی که در وصل کردن بانک به برنامه در برنامه های قبلی ( برنامه هایی که فقط در یک کامپیوتر کار خواهند کرد) انجام می دادیم را برای این برنامه ( برنامه شبکه ) هم انجام دهید؟

یعنی هیچ تغییری نیاز ندارد ؟
مثلا ADOConnection1.Mode و غیره

یعنی وصل کردن بانک به برنامه هیچ فرقی با برنامه های دیگر ندارد؟

پس اگر این چنین باشد تمام کارهای خود را چنین نوشتم:
مراحل کار من :
1 ) یک برنامه جدید ایجاد کردم.
2 ) روی فرم یک ADOConnection1 و یک ADOTable1 و یک DataSource1 و یک DBGrid1 ویک DBNavigator1 قرار دادم.
3 ) کد زیر را در برنامه قرار دادم

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

یک سوال : آیا کدهای من درست است یا نه ؟

اگر مشکلی نیست دوستان لطف کنند و ادامه دهند.

hp1361
14-11-2007, 23:01
من از دلفی 7 و آفیس XP استفاده می کنم.

درسته که ساخت بانک کاری نداره اما برای من یک سوال وجود داره و اون هم این است که :
آیا تمام تنظیم هایی که در وصل کردن بانک به برنامه در برنامه های قبلی ( برنامه هایی که فقط در یک کامپیوتر کار خواهند کرد) انجام می دادیم را برای این برنامه ( برنامه شبکه ) هم انجام دهید؟

یعنی هیچ تغییری نیاز ندارد ؟
مثلا ADOConnection1.Mode و غیره
یعنی وصل کردن بانک به برنامه هیچ فرقی با برنامه های دیگر ندارد؟

[/CODE]

اینطوری که نمیشه ! برنامه از کجا بفهمه بانکمون روی کدوم یکی از سیستم هاست ؟

یقیناً باید براش تعریف کنیم!؟

[QUOTE=as13851365;1811217]
پس اگر این چنین باشد تمام کارهای خود را چنین نوشتم:
مراحل کار من :
1 ) یک برنامه جدید ایجاد کردم.
2 ) روی فرم یک ADOConnection1 و یک ADOTable1 و یک DataSource1 و یک DBGrid1 ویک DBNavigator1 قرار دادم.
3 ) کد زیر را در برنامه قرار دادم

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

یک سوال : آیا کدهای من درست است یا نه ؟

اگر مشکلی نیست دوستان لطف کنند و ادامه دهند.


بافرض اینکه کانکشن استرینگت درسته فکر نکنم بقیش هیچ مشکلی داشته باشه .

برادر فرهاد اگه میشه در مورد کانکشن استرینگ راهنمایی بفرمایین .(حالا یا اکسس یا اس کیو ال سرور)

ممنون و منتظریم

F A R H A D
15-11-2007, 00:05
چون قراره برنامه تحت شبكه باشه نبايد از كامپوننتهاي معمولي مثل adotable استفاده كرد و بايد كامپوننت مخصوص براي اينكار وجود داشته باشه

در مورد پايگاه داده هم من اكسس رو براي ابتداي كار پيشنهاد مي كنم چون هم كار كردن با اون راحته و تنظيمات خاصي نداره و هم در دسترس همه قرار داره
دوست عزیز تمام صفحات رو خوندید؟


اگه میشه در مورد کانکشن استرینگ راهنمایی بفرمایین

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

sp1000
15-11-2007, 06:05
سلام دوستان
ببخشید
ولی من تمام کار هایی رو که as13851365 عزیز انجام داده انجام داده بودم

منظورم این بود

بای

as13851365
15-11-2007, 09:21
آقا فرهاد بانک ما اکسس است در صورتی که شما در لینکی که معرفی کردید نحوه وصل شده به بانک SQL را توضیح دادید. اگر دقت کنید می بینید که بیشتر دوستان از بانک اکسس می خوان شروع کنند.




دوستان مشكل من دقيقاً همين ConectionString اِه هست كه نميدونم چي بايستي براش بنويسم . يعني اينكه چطور براش اي پي سرور رو مشخص كنم.

بستگی داره که شما از چه نوع تعیین هویتی (authentication) برای کاربرها استفاده کنید. دونوع تعیین هویت در ms sql وجود داره:
1-windows authentication
2-sql server authentication

برای مورد 1 از connectionstring زیر استفاده کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



خوب :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


اینطوری که نمیشه ! برنامه از کجا بفهمه بانکمون روی کدوم یکی از سیستم هاست ؟
یقیناً باید براش تعریف کنیم!؟

خوب ما هم دنبال این هستیم که ببینیم برای ConnectionString چه مقداری را باید قرار دهیم؟

در ضمن من در پست های قبلی از دوستانی که در زمینه دلفی و برنامه های تحت شبکه تجربه دارن خواهش کرده بودم که به ما یک کمکی کنندو ما را از تجربه خود آشنا کنند اما مثل این که کسی این دوروبرها نیست.

بانک ما در اکسس ساخته شده و روی کامپیوتر شماره 5 ( سرور) قرار دارد و برنامه ای که قرار است نوشته شود در کامپیوتر های 1 تا 4 قرار می گیرد .

حالا از دوستان می خواهم که ادامه کار را به عهده بگیرند ویا اگر مقاله ای به زبان فارسی دارند را معرفی کنند . هر چند که اگر خودشان توضیح بدن بهتر متوجه می شیم ولی چه باید کرد هر چه از دوست رسد نیکوست.

romixery
15-11-2007, 10:06
سلام
دوستان عزيزم چرا اينجوري مي كنيد. من كه چند بار گفتم آقا فرهاد بانك SQLServer رو براي شبكه بلدن. بزارين از يه جايي شروع كنيم. به اكسس هم مي رسيم.
در ضمن من نگفتم كه همه كارا براي شبكه مثل برنامه غير شبكه اي هستش. فقط گفتم Connectionstring فرقي نمي كنه. تنظيماتش رو كه نگفتم!!! اينجا ديگه راهنمايي دوستان رو مي طلبه!!!
بابا از هر بانكي بلدين شروع كنيد ديگه. آقا فرهاد، دوستان عزيز، اساتيد ارجمند بابا يكي بگه ديگه؟ SQLServer, access يا هر چيز ديگه فقط شروع كنيد. همين. دوستان مطمئن باشن زير سنگم شده من شبكه با بانك اكسس رو پيدا مي كنم و بهشون مي گم. ولي فعلا با هر چي باشه شروع كنيد. تا اينجا فقط حرف زده شده. كار اساسي، نه!!!
موفق باشين
باي

F A R H A D
15-11-2007, 10:14
آقا فرهاد بانک ما اکسس است در صورتی که شما در لینکی که معرفی کردید نحوه وصل شده به بانک SQL را توضیح دادید. اگر دقت کنید می بینید که بیشتر دوستان از بانک اکسس می خوان شروع کنند

دوست عزیز من در پست شماره 8 همین تاپیک عرض کردم که با access مشکل دارم:

با access شبکه نکردم و اطلاعی ندارم. در آدرس دهی access با ip مشکل دارم. اگر دوستان کمک کنند ممنون میشم.
ضمنا توصیه اکید میکنم که برای برنامه نویسی شبکه از access استفاده نکنید

موفق باشید

delphianddotnet
15-11-2007, 10:33
سلام
من یه چیزی بگم:
واسه بانک اکسس زیاد سرمایه گزاری نکنید(برنامه نویسی شبکه)اگر هم کردین فقط کافی که بانک اکسس رو روی شبکه Share کنی و ادرس رو تو کلاینت ها تنظیم کنید .(DataSource)

delphianddotnet
15-11-2007, 10:35
ADOConnection1.ConnectionString:='Provider=Microso ft.Jet.OLEDB.4.0;Data Source=bank.mdb;Persist Security Info=False';

ADOConnection1.ConnectionString:='Provider=Microso ft.Jet.OLEDB.4.0;Data Source=ComputerAddress;Persist Security Info=False';

as13851365
16-11-2007, 10:47
ADOConnection1.ConnectionString:='Provider=Microso ft.Jet.OLEDB.4.0;Data Source=ComputerAddress;Persist Security Info=False';

تشکر.
با توجه به گفته دوستان چنین برداشت می شه که اگر کسی از بانک اکسس استفاده کرد باید بانک را در سرور قرار داده و مسیر بانک را در کد بالا قرار دهد.



من یه چیزی بگم:
واسه بانک اکسس زیاد سرمایه گزاری نکنید

خوب ما هم همین کار را می کنیم پس من می رم تا کار با SQL را شروع کنم .

اما از دوستان تقاضا دارم که دست دست نکنند و شروع به نوشتن برنامه کنند. با تشکر.

مراحل کار را چنین بگید ممنون می شم:
1 ) همه یک برنامه جدید ایجاد کنند .
2 ) کامپوننت های ؟؟؟؟؟؟؟؟؟ را روی فرم قرار دهید
3 ) تنظیمات کامپوننت ؟؟؟؟؟؟؟؟؟ چنین می باشد
.
.
.
همه ی دستان یک برنامه جدید ایجاد کردن و منتظر هستند که چه کامپوننت هایی را باید روی فرم قرار دهند. دوستان خواهشا کمک کنید.:11:

hp1361
17-11-2007, 01:54
سلام

خوب پس با توضیحات دوستان برای اتصال به بانک اس کیو ال سرور در قسمت دیتا سورس از کانکشن استرینگ نام سرورمون رو مینویسیم برنامه خودش میفهمه که بانک روی کدوم سیستم قرار داره - یا به عبارت دیگه برنامه خودش می فهمه سیستم سرور کدومه ؟درسته؟

delphianddotnet
17-11-2007, 14:06
خوب پس با توضیحات دوستان برای اتصال به بانک اس کیو ال سرور در قسمت دیتا سورس از کانکشن استرینگ نام سرورمون رو مینویسیم برنامه خودش میفهمه که بانک روی کدوم سیستم قرار داره - یا به عبارت دیگه برنامه خودش می فهمه سیستم سرور کدومه ؟درسته؟

بهترین راه ممکنه وشتن یه نمونه برنامه و تست کردنه؟شروع کن اگه مشکلی بود همینجا بگو تاحل کنیم.

as13851365
18-11-2007, 12:44
ای بابا!!!!!!!
مثل این که کسی نمی خواد دست به کار بشه و برنامه ی آموزشی را که قبلا گفتیم را کامل کنه .

مثل این که همه خسته شدن یا نمی خوان دیگه ادامه بدن؟!؟!؟.



بهترین راه ممکنه وشتن یه نمونه برنامه و تست کردنه؟شروع کن اگه مشکلی بود همینجا بگو تاحل کنیم.

دوست گرامی اگه به پست های قبلی دقت فرمائید می بینید که همه می خوان یک برنامه آزمایشی را با هم بنویسن ( یعنی صفر کیلومتر هستیم).
حالا شما حی بیایید و بگید (***بهترین راه ممکنه وشتن یه نمونه برنامه و تست کردنه؟شروع کن اگه مشکلی بود همینجا بگو تاحل کنیم.****).
اگه می شه یکی از دوستانی که در زمینه دلفی و شبکه تجربه داره ادامه این بحث را به عهده بگیره و شروع کنه به نوشتن برنامه ای که قبلا مطرح کردیم و همه پابه پای هم یک برنامه تحت شبکه بنویسیم.

mohsen_sir
18-11-2007, 12:57
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

romixery
18-11-2007, 19:34
سلام
محسن جان لينك شما كه كار نمي كنه!!! اگه ميشه لينك رو داخل [Code/][Code] بزارين بهتره.
موفق باشين
باي

soldier
19-11-2007, 14:37
سلام

این هم لینک توی تگ کد


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

موفق باشید

as13851365
19-11-2007, 19:00
این هم لینک توی تگ کد

کد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
موفق باشید


اولا امیدوارم که این فایلی که برای دانلود گذاشته شده با موضوع این پست ها مطابقت کنه .
دوما لینکی که معرفی شده کار نمی کنه اگر کسی تونسته دانلود کنه به ما هم بگه .
سوما موضوع اصلی این بحث را فراموش نکنید .

sp1000
20-11-2007, 08:15
سلام

دوستان بازم که داریم انحراف میریم
مثل اینکه این تاپیک نمی خواد به جایی برسه
اصلا شاید توی این انجمن کسی نیست که کار با شبکه رو بلد باشه

در ضمن لینک دوست عزیزیمون soldier هم خرابه

بای

romixery
20-11-2007, 10:14
سلام
دوستان عزيزيم از اونجايي كه ديدم خيلي كسي كمكمون نمي كنه. من خودم دست به كار شدم و دارم در مورد شبكه و برنامه نويس براي اون (Soket Programing) يه تحقيقايي مي كنم. اگه چيزي فهميدم حتما حتما به شما مي گم. والا چي بگم. انگار واقعا كسي تا حالا در اين انجمن شبكه كار نكرده. منم هر جا رفتم خيلي چيزي دست گيرم نشد.
موفق باشين
باي

as13851365
20-11-2007, 11:41
مثل اینکه این تاپیک نمی خواد به جایی برسه
به نظر که چنین است .


اصلا شاید توی این انجمن کسی نیست که کار با شبکه رو بلد باشه
شاید هم کسی باشه ولی نخواد اطلاعاتش را رو کنه !؟!؟


دوستان عزيزيم از اونجايي كه ديدم خيلي كسي كمكمون نمي كنه. من خودم دست به كار شدم و دارم در مورد شبكه و برنامه نويس براي اون (Soket Programing) يه تحقيقايي مي كنم. اگه چيزي فهميدم حتما حتما به شما مي گم. والا چي بگم. انگار واقعا كسي تا حالا در اين انجمن شبكه كار نكرده. منم هر جا رفتم خيلي چيزي دست گيرم نشد.
خوبه .
به نظر من باید خودمان دست به کار شیم .
هر چند با مشکلات زیادی مواجه خواهیم بود اما ارزش دارد.

romixery
21-11-2007, 20:21
سلام دوستان
نا اميد نشينا. اگه بخواين حتماً مي تونين
من اين PDF رو از اينترنت گرفتم. برنامه نويسي شبكه رو با دلفي ياد داده. فقط اينگيليسيه. ولي براي شروع بد نيست.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
موفق باشين
باي

sp1000
24-11-2007, 08:58
در نا امیدی بسی امید است پایان هرشب سیاه سفید است .

موفق میشیم

as13851365
24-11-2007, 10:19
در نا امیدی بسی امید است پایان هرشب سیاه سفید است .


شما دیگه چرا ؟
شما که یک برنامه تست زنی تحت شبکه نوشتید چرا نمی خواهید کاری بکنید؟
چرا نمی خواهید یک نمونه از کار خودتان را در این سایت قرار دهید؟(یک نمونه !!!)
شما که تجربه ی نوشتن همچین برنامه ای را داشتید چرا دست رو دست گذاشتید؟

sp1000
26-11-2007, 08:49
سلام

دوست عزیز من قبلا نمی دونستم که شبکه چیه فکر میکردم برنامه ام همزمان کار میکنه و لی حالا فهمیدم که این جوری نیست !

بای

as13851365
27-11-2007, 08:59
من بعد از چند جستجو به این نتیجه ها رسیدم :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

hamid_massaelly
20-05-2009, 07:48
سلام گفتم بگذار این تالار با نتیجه گیری به پایان برسانم
برای اتصال به بانک اطلاعاتی در شبکه در دلفی بهترین روش استفاده از Remot Data Modual و یک Socket connection که بر اساس هر یک اگه یک سرچ بکنید کلی مقاله زبان اصلی پیدا می شه ولی اگه شماها با ado ها می خواهید باشید ساده ترین راه برای Sql کافیه به Adoconnection خود طبق کد زیر وارد کنید
Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Shora;Data Source=192.168.116.1;
در قسمت Data Source فقط ip سیستم سرور را بدید برای فهمیدن ip server manager کافیه توی cmd ویندوز دستور netstat را بدید تا بفهمید کدوم ip , port در قسمت initial catalog هم نام دیتابیس خود را بدید که از من در این خط shora است البته بگم این روش ساده ترین روش با منیت پائینه ها نگید اصفهانیه لاشیه با امنیت پائین بردمون جلوها امیدوارم روزی برسه که مثل خانه ریاضیات هایی که ایجاد می شود خانه IT در کشورمان ایجاد شود.

Ali_r_N73
16-06-2021, 07:46
سلام
اگر بانک access استفاده می‌کنید، یه راهش اینه که بانک و فایل exe برنامه را توی یه پوشه در شبکه قرار بدید، بعد در برنامه تعریف کنید که مسیر فایل exe را بگیره و در ادامه اسم فایل دیتا (بانک access) را بهش اضافه کنید.
این هم کدهای مربوطه و connection string:

procedure TDataModule.DataModuleCreate(Sender: TObject);
var
DBFileName , AppDir, Path : string;
begin
AppDir:= ExtractFilePath(Application.ExeName );
DBFileName := AppDir+'Data\Data.mdb';


try
Connection.Close;
{اگر روی بانکتون پسورد گذاشتهاید}
Connection.ConnectionString := Format('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Persist Security Info=False;Jet OLEDB:Database Password=123;',[DBFileName]);
{اگر بانکتون پسورد نداره}
Connection.ConnectionString := Format(ConnStr,[ ExtractFilePath(ParamStr(0))+'Data\Data.mdb' ]);
Connection.Open;
Connection.Connected := True;
except


end;


ADOQuery1.Active:= True;


end;