PDA

View Full Version : مشکل با SQLDMO و SQL SMO



Del Aram
دوشنبه 02 آذر 1388, 09:16 صبح
با سلام
لطفا راهنمایی فرمایید. مشکل قطعه کدهای ذیل چیست؟ هیچ خروجی ای به من نمی دهد.
یک بار به این طریق امتحان نموده ام:





Private Sub SQL_SMO_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'//just list local servers, set to false if you want to see all servers

Dim dt As DataTable = Microsoft.SqlServer.Management.Smo.SmoApplication. EnumAvailableSqlServers(True)
lstServers.ValueMember = "Name"
lstServers.DataSource = dt

End Sub





و بار دیگر به این شکل:



private void btnRetrieve_Click(object sender, System.EventArgs e)
{
SQLDMO.NameList sqlList = null;
SQLDMO.Application sqlApp = null;

lstServers.Items.Clear();

try
{
sqlApp = new SQLDMO.Application();
sqlList = sqlApp.ListAvailableSQLServers();

for(int ctr = 1; ctr <= sqlList.Count; ctr++)
{
lstServers.Items.Add(sqlList.Item(ctr));
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
if(sqlList != null)
sqlList = null;

if(sqlApp != null)
sqlApp = null;
}
}

در هر دو شیوه پاسخی نگرفتم. هیچی.
با شرایط ذیل:
در شیوه نخست، برای پروژه Refence ای به دو کتابخانه :
Microsoft.SqlServer.Management.Smo
Microsoft.SqlServer.ConnectionInfo
قرار داده ام.
و در شیوه دوم، من SQL Server 2008 را نصب دارم و به :
C:\Program Files\Microsoft SQL Server\80\Tools\Binn\SQLDMO.DLL
رفرنس قرار داده ام.
روی یک لپ تاپ تکی امتحان می نمایم.
کارت شبکه را هم نصب نموده ام.
در سرویس های Local ام، در Services(Local)، هر چی که با SQL Server آغاز گردد، Status آن Started می باشد.
حتی Microsoft SQL Server Management Studio را هم باز نموده و با کاربر sa لاگین نموده ام.
آنتی ویروسم را هم غیر فعال نموده ام. فایروال ویندوز را هم آف نموده ام.

ولی نمی دانم چرا SQL Server لوکالم را نشان نمی دهد؟
لطفا راهنمایی فرمایید.

shahab2025
دوشنبه 02 آذر 1388, 18:09 عصر
سلام
من با اين كد ليست سرورهاي موجود را در يك كومبو باكس ريختم . گفتم شايد به رفع مشكل برنامت كمك كنه. (با sqlDMO نوشتم)

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim I As Integer
Dim oNames As NameList
Dim oSQLApp As Application = New Application
oNames = oSQLApp.ListAvailableSQLServers
For I = 1 To oNames.Count
cboListServer.Items.Add(oNames.Item(I).ToString)
Next
cboListServer.Text = cboListServer.Items(0)
End Sub

Del Aram
سه شنبه 03 آذر 1388, 13:27 عصر
خیر متاسفانه، نشد، آقا شهاب
نمی دونم چرا.
شاید مطلبی که نگفته باشم اینه که از اس کیو ال سرور 2008 استفاده می نمایم و کولیشن تازه افزوده شده پرشین.
آیا ممکنه ربطی داشته باشه؟؟