PDA

View Full Version : جستجو در چندین دیتابیس



jaykob
پنج شنبه 28 اردیبهشت 1391, 17:36 عصر
سلام

من می خوام جستجویی رو بین کل دیتابیس های حال حاضر sql server ام انجام بدم ، هر دیتابیس هم معمول نیست چند تا جدول داشته باشه و ممکنه هم دیتابیس بهش اضافه بشه و هم جدول اما یک قانونی بین همه هست که مثلا من دنبال نام می گردم ستون در همه جداول Fname هست و همینطور موارد دیگه . برنامه من local هست ولی به صورت وب نوشتم .

ممنون می شم راهنمایی کنید

mo.esmp
پنج شنبه 28 اردیبهشت 1391, 23:51 عصر
خوب اینجوری که میگی هیچی معلوم نیست جریان کار یەکم زیاد پیچیده میشه.
اول باید لیست دیتابیسهای موجود در SQL Server (البته بدون دیتابیس های خودش مسله master, model ...) رو برگردونی مسلن با این دستور
SELECT [name] FROM master.dbo.sysdatabases WHERE dbid > 6
بعد به ازای هر دیتابیس لیست Tableهاش رو برگردونی مسلن با این دستور
SELECT TABLE_NAME FROM information_schema.tables
بعد به ازای هر Table لیست Columnهاش رو برگردونی مسلن با این دستور
select COLUMN_NAME from information_schema.columns where table_name = 'TableName'
حالا اگه تو لیست Columnها ستون FName وجود داشت برای اون Table جستجو رو انجام بدی
و نحوه جستجو هم بستگی به استراتژی جستجوت داره مسلن میتونی برای جدولی که ستون FName رو داره جستجو رو انجام بدی و اگه جستجو جیزی رو برنگردوند بری سراغ جدول بعدی و به همین ترتیب دیتابیس بعدی
وا یا کلن میتونی برای یک مقدار کل دیتابیسهای موجود رو جستجو کنی و نتایج رو از کل دیتابیسها برگردونی که در این حالت باید موازب کارایی سیستم باشی که ممکن هست سربار زیادی برای سیستم داشته باشه.

Ahmad.ph
سه شنبه 24 بهمن 1391, 22:26 عصر
ممنون از راهنمایی شما جناب mo ..
فقظ میخواستم ببینم آیا کد یا برنامه آماده‌ای برای این منظور وجود داره.. اگه باشه ممنون میشم راهنمایی بفرمایید.