يه سوال - بدجوری گير کردم. کمک!

koorosh

Registered User
تاریخ عضویت
12 دسامبر 2002
نوشته‌ها
1,525
لایک‌ها
10
سن
38
محل سکونت
Iran - Tehran
صبح بخير
آقا مشکل من از اين قراره :
دو تا Database دارم. دو تا از Table هاش کاملا شبيه هم هستن. ميخوام يه Select بزنم از دو تا Database و نتايج رو تو يه RecordSet دريافت کنم. يه چيزی تو مايه های UNION . مشکل اينه که با UNION نميشه از دوتا Database اطلاعات رو Select کرد.

مثلا فکر کن بطور معمولی دو تا Select با دو Recordset بزنم و بعد RecordSet سوم مجموع اون دو تا رو بگيره.

ميدونم خيلی گنگه، ولی خواهش ميکنم اگه ميدونين کمک کنين.

کمککککککککککککک کنين !
يه چيزی تو مايه های از شهرستان اومدم و کيفم رو گم کردم و پول دوای بيمارستان ندارم و . . .

"احسان دنبال جواب بگرد ها . . ."
 

ehsan

Administrator
مدیر انجمن
Administrator
تاریخ عضویت
5 دسامبر 2002
نوشته‌ها
7,935
لایک‌ها
3,825
محل سکونت
Internet

koorosh

Registered User
تاریخ عضویت
12 دسامبر 2002
نوشته‌ها
1,525
لایک‌ها
10
سن
38
محل سکونت
Iran - Tehran
احسان جواب من چی شد ؟!
فکر کنم اين تنها سواليه که بهش جواب داده نشده.
يک بنده خدايی بهم گفته محتويات Table اول رو بخونم و بريزم تو يه Temporary Table در DB دوم.
بعد از انجام کارم هم Table رو Drop کنم.
شايد اگه تعداد سطر ها کم بود اين کار شدنی بود. ولی اين Table حدود 150 هزار سطر داره که هر روز داره به سطرهاش اضافه ميشه
.
عملا اين کار امکان پذير نيست . . .


بدادم برسييييييييييييييييييييييييييييييد
 

knowhow

مدیران قدیمی
تاریخ عضویت
25 دسامبر 2002
نوشته‌ها
3,479
لایک‌ها
21
سلام
من دقيقا مشكلت رو نفهميدم و اي اس پي هم زياد بلد نيستم ولي تو php می تونی این کار رو بکنی.

اولا که این امکان وجود داره که به دو تا db مختلف در آن واحد وصل شی و query بگیری.

دوما می تونی اطلاعاتی رو که لازم داری از db اول بگیری بریزی توی یک آرایه و بری سراغ db دوم و از اون هم اطلاعات رو بگیری اضافه کنی به آرایه ات و در آخر روی آرایه ات کار کنی.

چون که این آریه معمولا در روی Temp فولدر سایت ذخیره می شه تو هیچ مشکلی در حجم اطلاعاتت نداری.

امیدوارم مشکلت رو فهمیده باشم ;)
 

easytrading

Registered User
تاریخ عضویت
14 آگوست 2012
نوشته‌ها
1,452
لایک‌ها
386
محل سکونت
مشهد
.......................اصلاح به دلیل زدن پست اشتباه
 
Last edited:

ikeyvan

Registered User
تاریخ عضویت
14 مارس 2005
نوشته‌ها
199
لایک‌ها
10
محل سکونت
Tehran
شاید یه خوردن دیر باشه اما به هر حال میتونی یک DataTable ایجاد کنی و شروع کنی به خوندن اطلاعات دیتابیس اول و بعدش دوم و ریختن تو DataTable که ایجاد کردی و Bind کردن اون توی گرید/ریپیتر/ یا هر طوری که می خوای اطلاعات رو نشون بدی یا ...

کد نمونه VB.NET:

کد:
'ایجاد دیتاتیبل
Dim dtMyDataTable As New DataTable("MyData")
dtMyDataTable.Columns.Add("FieldName1", GetType(String))
dtMyDataTable.Columns.Add("FieldName2", GetType(String))
dtMyDataTable.Columns.Add("FieldName3", GetType(String))

'خوندن از دیتابیس اول و وارد کردن اطلاعات به دیتاتیبل ایجاد شده
Dim dbConn_1 As New SqlConnection("YOUR_DataBase_1_ConnectionString")
dbConn_1.Open()

Dim cmdTable_1 As New SqlCommand("YOUR_DataBase_1_SqlSelectQuery", dbConn_1)
Dim rdTable_1 As SqlDataReader = cmdTable_1.ExecuteReader()
While rdTable_1.Read

Dim rowInsert_1 As DataRow = dtMyDataTable.NewRow()
rowInsert_1("FieldName1") = rdTable_1("FieldName1")
rowInsert_1("FieldName2") = rdTable_1("FieldName2")
rowInsert_1("FieldName3") = rdTable_1("FieldName3")
dtMyDataTable.Rows.Add(rowInsert_1)

End While
rdTable_1.Close()
cmdTable_1.Dispose()

dbConn_1.Close()
dbConn_1.Dispose()

'خوندن از دیتابیس دوم و وارد کردن اطلاعات به دیتاتیبل ایجاد شده
Dim dbConn_2 As New SqlConnection("YOUR_DataBase_2_ConnectionString")
dbConn_2.Open()

Dim cmdTable_2 As New SqlCommand("YOUR_DataBase_2_SqlSelectQuery", dbConn_2)
Dim rdTable_2 As SqlDataReader = cmdTable_2.ExecuteReader()
While rdTable_2.Read

Dim rowInsert_2 As DataRow = dtMyDataTable.NewRow()
rowInsert_2("FieldName1") = rdTable_2("FieldName1")
rowInsert_2("FieldName2") = rdTable_2("FieldName2")
rowInsert_2("FieldName3") = rdTable_2("FieldName3")
dtMyDataTable.Rows.Add(rowInsert_2)

End While
rdTable_2.Close()
cmdTable_2.Dispose()

dbConn_2.Close()
dbConn_2.Dispose()
 

واشنگتن

Registered User
تاریخ عضویت
11 فوریه 2013
نوشته‌ها
221
لایک‌ها
154
تبریک میگم یکی از سخترین فرمولهای دنیا کامپیوتر بعد از 11 سال حل شد
 

ikeyvan

Registered User
تاریخ عضویت
14 مارس 2005
نوشته‌ها
199
لایک‌ها
10
محل سکونت
Tehran
تو فرم های خارجی کافیه یه سوال فنی کنی 100 نفر جواب فنی میدن بهت نه بیان خوشمزگی کنن!
 

واشنگتن

Registered User
تاریخ عضویت
11 فوریه 2013
نوشته‌ها
221
لایک‌ها
154
مهَنِس تاریخ سوال رو خوندی مال 11 سال پیشِ
 

ikeyvan

Registered User
تاریخ عضویت
14 مارس 2005
نوشته‌ها
199
لایک‌ها
10
محل سکونت
Tehran
مهَنِس تاریخ سوال رو خوندی مال 11 سال پیشِ
نه توجه نکردم به تاریح اش که 2003 هستش!!!:general404: چون بالا بود توی لیست ASP.NET یه 5 دقیقه وقت گزاشتم جواب اشو تایپ کردم...به هر حال بعدا به درد کسه دیگه ای که همین مشکلو داره میخوره
 

Shaahin92

Registered User
تاریخ عضویت
15 مارس 2014
نوشته‌ها
352
لایک‌ها
229
محل سکونت
مرکز جهان
یکی از ویژه گی های فروم های ایرانی همینه :general404:
هیچ وقت شخصی که سوال پرسیده به جواب نمی رسه :confused:
ولی در این مورد پس از 11 سال طرف جواب گرفت :eek: این مورد باید در گینس ثبت بشه
 

MihanV

مدیر بخش سیستمهای مدیریت محتوای وب سایت
مدیر انجمن
مدیر انجمن
تاریخ عضویت
29 جولای 2010
نوشته‌ها
10,001
لایک‌ها
9,066
محل سکونت
کرج
@koorosh استارتر رو تگ کنم بیاد ببینه سوالش پاسخ داده شده ببینیم چه حالی میشه:D
 

MOHAMMAD026

Registered User
تاریخ عضویت
26 سپتامبر 2013
نوشته‌ها
2,424
لایک‌ها
1,942
محل سکونت
Internet
بالا