PDA

View Full Version : سوال: انتقال اطلاعات از سرور به سرور دیگر



sheibanizaveh
شنبه 22 بهمن 1390, 16:36 عصر
سلام برای چندمین باره مزاحم اساتید میشم و هنوز متاسفانه با اینکه نیاز شدید به دستوری که در ذیل به اون اشاره میکنم دارم
من دستوری میخوام که اطلاعات رو از سروری به سرور دیگه انتقال بده , اینطوری بگم بهتره من دو تا جدول هم نام دارم با فیلد هایی هم نام یکی در سروری در روی سیستمی با ip 192.168.2.1 و دیگری در سیستمی با ip 192.168.2.1 .
از اساتید و دوستان عزیز خواهش میکنم اگر اطلاعاتی دارند کمکم کنند . ضمنا باSQL2008 کار میکنم

Mani_rf
یک شنبه 23 بهمن 1390, 10:08 صبح
سلام. سوالت را دقیقتر مطرح کن .
فاصله سرور ها چقدره و از طریق چه شبکه ای باهم در ارتباط هستند؟
حجم و مقدار رکورد اطلاعات ارسالی در مدت زمان مشخص چقدر است؟
تعداد جداولی که این کار را باید برای آنها انجام دادچه تعداد است؟
لزورم انجام این کار در چیست
و...

in_chand_nafar
یک شنبه 23 بهمن 1390, 10:12 صبح
اگر هدف شما انتقال است می توانید از Export استفاده کنید
اگر می خواهید Join بزنید با LinkedServer کار کنید
اما بهتر است سناریو خود را توضیح دهید

فرید نجفلو
یک شنبه 23 بهمن 1390, 10:59 صبح
واینکه می خواهید داخل برنامه با وی بی انتقال بدید یا با دستورات SQL

sheibanizaveh
یک شنبه 23 بهمن 1390, 14:36 عصر
سلام خدمت اساتید
من یک سری اطلاعات رو داخل فرمی پر می کنم در صورتی که بخوام اونا رو ثبت دائم کنم باید اونا رو به سیستم server که دیتابیسم قرار داده شده انتقال بدم
دوستان عزیز : شبکه من یک شبکه محلی و فاصله سیستم های این مجموعه بسیار محدوده (حداکثر یک اتاق)
اگه بیشتر بخوام توضیح بدم جدوال Temp (موقت) من در روی سیستم های شبکه قرار دارد و برای ثبت دائم اطلاعات هر سیستم اطلاعات رو باید ارسال کند به سیستم سرور
من الان این کارو بدین صورت انجام میدم که اطلاعات رو از جدوال موقت روی هر سیستم میخوانم و اونارو به سطح برنامه (با متغییرها) می آورم و بعد اونا رو دوباره insert میکنم در جدوال مقصد یا دائمی این کار کمی سرعت سیستم رو میگیره
لازم به ذکرست : نام جداول مقصد و فیلد های جداول همنام یکسان هستند
من دستوراتی مختلف را پیدار کردم که نمونه های اونا رو در ذیل می گذارم , متاسفانه این دستورات همگی منو به بن بست رسوندن و در آخر از همه شما متشکرم .

Dim Strsql_in As String = "INSERT INTO DB1.DBO.Table1(FildX) SELECT (FildX) FROM DB2.DBO.Table2"
Dim Cmd As SqlCommand
Cmd = New SqlCommand(Strsql_in, New SqlConnection("Data Source=.;Initial Catalog=DB1;Integrated Security=True"))
Cmd.Connection.Open()
Cmd.ExecuteNonQuery()
Cmd.Connection.Close()
دستور فوق بدرستی اطلاعات رو بین دو دیتابیس انتقال میده ولی من اطلاعاتو بین دو سرور میخوام انتقال بدم دستور زیر هم که دوستان عزیز پیشنهاد کردن درست نبود
Dim Strsql_in As String = "INSERT INTO Server1.DB1.DBO.Table1(X) SELECT (X) FROM Server2.DB2.DBO.Table2"
Dim Cmd As SqlCommand
Cmd = New SqlCommand(Strsql_in, New SqlConnection("Data Source=.;Initial Catalog=DB1;Integrated Security=True"))
Cmd.Connection.Open()
Cmd.ExecuteNonQuery()
Cmd.Connection.Close()

sheibanizaveh
سه شنبه 25 بهمن 1390, 22:02 عصر
ممنون از دوستان راهش پیداشد

فرید نجفلو
سه شنبه 25 بهمن 1390, 22:31 عصر
اگه راهش پیدا شد بگید ما هم بدونیم!

bastakboys
چهارشنبه 26 بهمن 1390, 01:21 صبح
آره راهش رو بگین