PDA

View Full Version : نمایش كليه جداول و فيلدها و نوع و سايز آنهاو.... در برنامه



kharabati
چهارشنبه 14 بهمن 1388, 20:10 عصر
سلام.
کسی چنین برنامه ای داره یا میتونه راهنمایی کنه چطور میشه در VB این برنامه رو ساخت :

اسم سرور و پایگاه داده رو از ComboBox مثل عکس زیر دریافت کنه و پس ازورود به برنامه اسامي كليه جداول و فيلدها و نوع و سايز آن و همچنين محتويات SP و View را نمايش دهد.

http://barnamenevis.org/forum/attachment.php?attachmentid=43559&stc=1&d=1265216866

armin8651
چهارشنبه 14 بهمن 1388, 20:30 عصر
سلام
از لینک زیر استفاده کن، اونجا توضیح دادم :

http://barnamenevis.org/forum/showthread.php?t=203048

kharabati
پنج شنبه 15 بهمن 1388, 16:52 عصر
در این لینکی که شما دادین فقط یه سروری رو که خودش پیش فرض معرفی میکنه لود میکنه مثل localhost ودر قسمت comboپایین دیتا بیس های همون سرور رو لود میکنه من میخوام خودبه خود تمامی سرورها از جمله localhost,.....رو بتونه لود کنه و لیست تمامی پایگاه های موجد در هر سرور رو بشه انتخاب مرد نه یک سرور مشخص شده.

armin8651
جمعه 16 بهمن 1388, 09:49 صبح
در این لینکی که شما دادین فقط یه سروری رو که خودش پیش فرض معرفی میکنه لود میکنه مثل localhost ودر قسمت comboپایین دیتا بیس های همون سرور رو لود میکنه من میخوام خودبه خود تمامی سرورها از جمله localhost,.....رو بتونه لود کنه و لیست تمامی پایگاه های موجد در هر سرور رو بشه انتخاب مرد نه یک سرور مشخص شده.

احتمالآ فقط همون یک سرور رو سیستمتون بوده

kharabati
جمعه 16 بهمن 1388, 11:17 صبح
سلام.
اگه به کدی که تو قسمت Form1_Load هست توجه کنید میبینید که ابتدا سرور رو local در نظر میگیره .
(کد_1)




Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ConnSTRING = "Data Source=(local);Initial Catalog=master;Integrated Security=True"
Dim CmdSTR As String = "select srvname from sysservers"
Dim DS As New DataSet()
fillDataSet(DS, CmdSTR, ConnSTRING)

For Each DR As DataRow In DS.Tables("Table1").Rows
ComboBox1.Items.Add(DR("srvname").ToString())
Next
End Sub





من وقتی میخوام SQLرو تو SQL Server Management Studio کانکت کنم Local اصلا کانکت نمیشه و این برنامه هم در موقع اجرا تو قسمت load کردن comb اول میپره بیرون و روی ()conn.Open خطا میده وقتی.
(کد_2)





Dim conn As SqlConnection = New SqlConnection(connectionStr)
Dim ad As SqlDataAdapter = New SqlDataAdapter(Cmd, conn)
conn.Open()
ad.Fill(ds, "Table1")
conn.Close()




من در (کد_1)به جای (Local )سروری رو که کانکت هست مثلا KHARABATI\MSSQLSERVER قرار میدم برنامه اجرا میشه اما فقط همین سرور رو تو comb1نشون میده و تو COMB2 لیست تمامی پایگاه های این سرور رو نشون میده.
فکر کنم (کد_1) یه مشکلی داره.
اگه به جواب رسیدین خبرم کنید.
ممنون.

sari-1369
جمعه 16 بهمن 1388, 11:47 صبح
این دو لینک رو ببین ، اگر جواب گرفتی حتما به من هم بگو .

http://devpinoy.org/blogs/keithrull/archive/2006/06/08/Programmatically-List-All-SQL-Servers-And-Their-Databases-Using-SMO-.aspx

http://www.keithrull.com/2006/06/09/ProgrammaticallyListAllSQLServersAndTheirDatabases UsingSMO.aspx (http://www.keithrull.com/2006/06/09/ProgrammaticallyListAllSQLServersAndTheirDatabases UsingSMO.aspx)

kharabati
جمعه 16 بهمن 1388, 12:42 عصر
آقا این برنامه که لینک رو دادین نیاز به دو تا فایل dll به نام های :

Microsoft.SqlServer.Management.Smo
Microsoft.SqlServer.ConnectionInfo

من هرچی کشتم این دو تا رو تو قسمت فایل هایdll پوشه نصب SQL نبود باید این دوتا فایل رو پیدا کنی و تو پوشه Debug کپی کنی بعد برنامه رو اجرا کنی.
من یه برنامه مثل همین رو دارم که با استفاده از فایل هایsmo این کار رو کرده و 100 درصد هم جواب داده.اگه نیاز دارین بگین براتون قرار بدم.
اما من میخواستم بدون استفاده از این فایل ها مثل مثال بالا به لیست سرور ها دسترسی پیدا کنم.

sari-1369
جمعه 16 بهمن 1388, 13:13 عصر
آقا این برنامه که لینک رو دادین نیاز به دو تا فایل dll به نام های :

Microsoft.SqlServer.Management.Smo
Microsoft.SqlServer.ConnectionInfo

من هرچی کشتم این دو تا رو تو قسمت فایل هایdll پوشه نصب SQL نبود باید این دوتا فایل رو پیدا کنی و تو پوشه Debug کپی کنی بعد برنامه رو اجرا کنی.
من یه برنامه مثل همین رو دارم که با استفاده از فایل هایsmo این کار رو کرده و 100 درصد هم جواب داده.اگه نیاز دارین بگین براتون قرار بدم.
اما من میخواستم بدون استفاده از این فایل ها مثل مثال بالا به لیست سرور ها دسترسی پیدا کنم.






این رفرنس هارو به این صورت میتونی اضافه کنی . روی پروژت تو پنجره سولوشن راست کلیک کن ، بعدش addrefrence زو بزن ، فکر کنم تو تب com هستش و اگه یکم بگردی پیدا میکنی ، نیاز نیست از جایی گیر بیاری تو کامپیوترت هست . فقط کافیه رفرنسشو اضافه کنه

armin8651
جمعه 16 بهمن 1388, 22:23 عصر
من تو سیستمم از این کد استفاده می کنم و مشکلی نداره :متفکر:

با (local) وصل مشه به پایگاه داده master ولی بعدش اصلاعات جدول sysservers رو می خونه که این جدول هم لیست همه سرورها رو نشون میده

اصلآ تو کد1 (local) رو حذف کن و هیجی جاش نذار ببین کار می کنه

kharabati
جمعه 16 بهمن 1388, 23:37 عصر
آقا دستت درد نکنه روی یه کامپیوتر دیگه اجرا کردم جواب داد .حرف شما درست بود .

armin8651
شنبه 17 بهمن 1388, 12:16 عصر
آقا دستت درد نکنه روی یه کامپیوتر دیگه اجرا کردم جواب داد .حرف شما درست بود .

خواهش می کنم :چشمک: