PDA

View Full Version : نحوه اتصال چند بانک به یکدیگر



Omid.R.A.Candy
پنج شنبه 11 مهر 1392, 11:40 صبح
سلام

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

mhsmity
چهارشنبه 21 آبان 1393, 06:58 صبح
سلام
من هم دقیقا همین سوال رو درام. جند بانک دقیقا مثل هم هستش حالا چطور لیست تمام کاربران رو تهیه کنم
لیست همه کاربران = لیست کاربران بانک 1 + لیست کاربران بانک 2 +...... لیست کاربران بانک n ام

چند مسئله درایم:
کلید اصلی کاربران همگی از 1 شروع شده و تکراری هم صد در صد داریم چیز که مشخصه کلید اصلی ها باید از دوبخش تشکیل بشه مثلا
کلید اصلی جدید = آیدی نام بانک + کلید اصلی رکورد
چون می خوام علمیات درج، ویرایش رو انجام بدیم باید بدونیم چی به چیه

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

mhsmity
شنبه 24 آبان 1393, 09:05 صبح
سلام کسی نیست
اساتید راهنمایی کنید

Davidd
شنبه 24 آبان 1393, 09:53 صبح
سطرهاي ديتابيل دوم و سوم به ديتابيل اول اضافه كنيد. هنگام اضافه كردن سطرها در صورت لزوم كليد اصلي تغيير بديد.
كد اضافه كردن سطر i ام ديتابيل دوم به ديتابيل اول :
// add i-th row from dt2 to dt1
DataRow dRow = dt1.NewRow();
dRow.ItemArray = dt2.Rows[i].ItemArray;
dt1.Rows.Add(dRow);

mhsmity
دوشنبه 26 آبان 1393, 12:49 عصر
سطرهاي ديتابيل دوم و سوم به ديتابيل اول اضافه كنيد. هنگام اضافه كردن سطرها در صورت لزوم كليد اصلي تغيير بديد.
كد اضافه كردن سطر i ام ديتابيل دوم به ديتابيل اول :
// add i-th row from dt2 to dt1
DataRow dRow = dt1.NewRow();
dRow.ItemArray = dt2.Rows[i].ItemArray;
dt1.Rows.Add(dRow);


سلام ممنون از توضیحاتون
به نظر شما چطوری nتا بانک رو یکی یکی واکشی داشته باشم تا دیتا تیبل هام رو بسازم و تازه به مرحله ای که شما توضیح دادین برسم؟

اگه همه بانک ها رو داخل اسکویل اتچ کنم آیا مشکل خاصی برام پیش می یاد یا نه ؟
چطوری 600 بانک رو اتچ کنم.

نمی دونم منظورم رو خوب بیان کردم یا نه ؟

راه کار بدین
راه کار بدین
راه کاربدین

mhsmity
دوشنبه 26 آبان 1393, 19:20 عصر
به نظر بنده باید n بانک مورد نظر به اسکیول اتچ بشن.
به دو دلیل
1 - میشه راحت اطلاعات مورد نظر رو واکشی کرد
اگر کسی حالتی در نظر داره که قراره تداخل ایجاد کنه حتما یه توضیحه بده
2- وقتی بانک ها قرار باشه آپدیت بشن فقط کافی به ازای بانک مورد نظر عملیات ریستور صورت بگیره

من چند تا کد می زارم. واسه تهیه لیست مشخصات تمام افراد موجود در کل بانک ها شمازحمت بکشید اون رو داخل یک foreach بزارین
SELECT Distinct id, name,'a1' as db
FROM a1.dbo.t1
union
SELECT Distinct id, name,'a2' as db
FROM a2.dbo.t1

mhsmity
سه شنبه 27 آبان 1393, 22:59 عصر
سطرهاي ديتابيل دوم و سوم به ديتابيل اول اضافه كنيد. هنگام اضافه كردن سطرها در صورت لزوم كليد اصلي تغيير بديد.
كد اضافه كردن سطر i ام ديتابيل دوم به ديتابيل اول :
// add i-th row from dt2 to dt1
DataRow dRow = dt1.NewRow();
dRow.ItemArray = dt2.Rows[i].ItemArray;
dt1.Rows.Add(dRow);


به نظر بنده حقیر این کار واکشی اطلاعات به هر نحوی که شده باید سمت اسکیول صورت بگیره چون قدرتش خیلی بشتره
آیا با این نظر بنده موافق هستین ؟

Davidd
چهارشنبه 28 آبان 1393, 08:48 صبح
دوست عزيز سوالتو بيشتر توضيح بده. چرا 600 بانك؟ اين 600 بانك مگه قبلا اتچ نشدن؟ اين كار (واكشي ليست كاربران) يكبار قراره انجام بشه يا نه؟
سمت sql هم ميشه نوشت ولي كد نويسي در sql سخت تره و محدوديت هاي بيشتري داره. در ضمن براي كار با 600 بانك در يك حلقه، يا بايد در يك جدول يا ليست يا فايل ... نام بانك هارو ذخيره كنيد يا اينكه نام بانكها يه بخش يكسان به اضافه شمارنده باشه: DB1,DB2,....

mhsmity
پنج شنبه 29 آبان 1393, 18:54 عصر
چون که 600 نسخه از برنامه پخش شده و هر شهر اطلاعات خودش رو وارد کرده است.
اتچ بودن این 600 بانک: نه هنوز نه قرار که یکی یکی بانک ها به استان برسه و استان بعد از گذشت یه مدت باید تمام بانک ها رو داشته باشه تا بتونه اطلاعات و گزارشات خودش رو بسازه
بله یه زمانی که رسید همه 600 بانک به اسکیول اتچ میشه ولی با گذشت زمان بحث آپدیت شدن رو داریم من تصمیم دارم بانک قدیمی رو کل پاکش کنم و بانک جدید رو جای اون اتچ کنم.
کار واکشی: بله بعضا لازم هست که کار واکشی به یکبار صورت بگیره
مثلا لیست اعضای استان از جمع لیست اعضای شهر های تشکیل شده.
سختی کار سمت اسکیول : دوست من فکر نکنم که سخت باشه چون با یک حلقه به راحتی میشه Qeury رو ساخت و از اون جای که اسکیول قدرت بشتری در واکشی اطلاعات داره مطمئا هستم که مشکلی از لحاظ سرعت واکشی پیش نمی یاد.
نام بانک: هر بانک اسم مشخصی داره که داخل اسکیول اتچ میشه. و تداخلی نداریم این کار هم به راحتی صورت می گیره.