منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] اسم السيرفر خارج المنظومة - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] اسم السيرفر خارج المنظومة (/showthread.php?tid=40359)



اسم السيرفر خارج المنظومة - محمد بوقزاحة - 30-12-21

السلام عليكم ورحمة الله 
ارجو مساعدتي في معرفة الكود للاتصال السيرفر ويكون خارج المنظومة 
مثلا 
  Sub server(ByVal str As String)
        con = New SqlConnection("Data Source=" & str & ";Database=Master;integrated security=SSPI;")
        con.Open()
        cmd = New SqlCommand("select *  from sysservers  where srvproduct='SQL Server'", con)
        dread = cmd.ExecuteReader
        While dread.Read
            cmbserver.Items.Add(dread(2))
        End While
        dread.Close()
    
End Sub
form1
    server("DESKTOP-QRSLB4V\SQL_2019_R2")
end sub 
  
الخطا
con = New SqlConnection(File.ReadAllText("D:ConectionString"))


RE: اسم السيرفر خارج المنظومة - aljzazy - 02-01-22

هل تريد تحميل السيرفرات في كومبوبوكس


RE: اسم السيرفر خارج المنظومة - محمد بوقزاحة - 03-01-22

(02-01-22, 12:22 AM)aljzazy كتب : هل تريد تحميل السيرفرات في كومبوبوكس

نعم اريد تحميل السيرفرات في كمومبوبوكس


RE: اسم السيرفر خارج المنظومة - aljzazy - 03-01-22

هذا الامر يقوم باستدعاء جميع السيرفرات الموجودة في الجهاز

PHP كود :
Public Sub Loadserver(ByVal combo As ComboBox)
 
       Try
            Dim localmachine 
RegistryKey.OpenBaseKey(RegistryHive.LocalMachineRegistryView.Registry64)
 
           Dim rk localmachine.OpenSubKey("SOFTWARE\Microsoft\Microsoft SQL Server")
 
           Dim instances CType(rk.GetValue("InstalledInstances"), String())
 
           If instances.Length 0 Then
                For Each element 
As String In instances
                    If element 
"MSSQLSERVER" Then
                        combo
.Items.Add(System.Environment.MachineName)
 
                   Else
                        combo
.Items.Add(System.Environment.MachineName "\" + element)
                    End If
                Next element
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub 


يتم استدعاء الامر كالتالي

PHP كود :
Loadserver(cmb_Server
لا تنسى استدعاء المكتبات الضرورية

PHP كود :
Imports Microsoft.Win32
Imports System
.Data.SqlClient
Imports System
.IO 

اما لتحميل كافة قواعد البيانات على السيرفر

PHP كود :
Public Sub selectdata(comboserver As ComboBoxcombodatabase As ComboBox)

 
       combodatabase.Items.Clear()

 
       Dim cn As New SqlConnection("server=" comboserver.Text "; database = master ; integrated security=true ")
 
       Dim da As New SqlDataAdapter("select name from sys.databases "cn)
 
       Dim dt As New DataTable
        da
.Fill(dt)

 
       For i As Integer 0 To dt.Rows.Count 1
            combodatabase
.Items.Add(dt.Rows(i)("name").ToString)
 
       Next
    End Sub 

لكن نصيحة اذا كنت تريد عمل نسخة احتياطية لقاعدة البيانات عن طريق المستخدم
قمت باضافة مسار لحفظ النسخة وتجنب الحفظ على دريف C


RE: اسم السيرفر خارج المنظومة - Aminsoft - 26-04-23

(03-01-22, 08:02 PM)aljzazy كتب : هذا الامر يقوم باستدعاء جميع السيرفرات الموجودة في الجهاز

PHP كود :
Public Sub Loadserver(ByVal combo As ComboBox)
 
       Try
            Dim localmachine 
RegistryKey.OpenBaseKey(RegistryHive.LocalMachineRegistryView.Registry64)
 
           Dim rk localmachine.OpenSubKey("SOFTWARE\Microsoft\Microsoft SQL Server")
 
           Dim instances CType(rk.GetValue("InstalledInstances"), String())
 
           If instances.Length 0 Then
                For Each element 
As String In instances
                    If element 
"MSSQLSERVER" Then
                        combo
.Items.Add(System.Environment.MachineName)
 
                   Else
                        combo
.Items.Add(System.Environment.MachineName "\" + element)
                    End If
                Next element
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub 


يتم استدعاء الامر كالتالي

PHP كود :
Loadserver(cmb_Server
لا تنسى استدعاء المكتبات الضرورية

PHP كود :
Imports Microsoft.Win32
Imports System
.Data.SqlClient
Imports System
.IO 

اما لتحميل كافة قواعد البيانات على السيرفر

PHP كود :
Public Sub selectdata(comboserver As ComboBoxcombodatabase As ComboBox)

 
       combodatabase.Items.Clear()

 
       Dim cn As New SqlConnection("server=" comboserver.Text "; database = master ; integrated security=true ")
 
       Dim da As New SqlDataAdapter("select name from sys.databases "cn)
 
       Dim dt As New DataTable
        da
.Fill(dt)

 
       For i As Integer 0 To dt.Rows.Count 1
            combodatabase
.Items.Add(dt.Rows(i)("name").ToString)
 
       Next
    End Sub 

لكن نصيحة اذا كنت تريد عمل نسخة احتياطية لقاعدة البيانات عن طريق المستخدم
قمت باضافة مسار لحفظ النسخة وتجنب الحفظ على دريف C

السلام عليكم ورحمة الله وبركاته أتمنى أن تكون في صحة وعافية

لقد استخدمت هذا الكود ورجع لي بخطأ (" لم يتم تعيين مرجع كائن لمثيل كائن ") ما السبب

وشكراً