[VB]SQL-servers op LAN niet vololedig weergegeven

Pagina: 1
Acties:

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
Middels de NetAPI-declaration NetServerEnum haal ik de SQL-servers uit een domein op. Dit gaat op zivh goed, alleen laat hij de eerste 8 karakters zien ipv de volledig benaming.

hier een stukje code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Public Sub GetSQLServers()
On Error GoTo Err_GetSQLServers

Dim L            As Long
Dim EntriesRead  As Long
Dim TotalEntries As Long
Dim hResume      As Long
Dim bufPtr       As Long
Dim Level        As Long
Dim PrefMaxLen   As Long
Dim lType        As Long
Dim Domain()     As Byte
Dim I            As Long
Dim sv100        As SV_100
Dim strDomain    As String
    
Level = 100
PrefMaxLen = -1
lType = SV_TYPE_SQLSERVER

    
        If (IsNull(Domain)) Or (Len(Format(Domain)) < 1) Then
TryAgain:
            strDomain = "Paree" 'InputBox("Please enter your network's Domain Name", "     DOMAIN NAME NEEDED", "MYCOMPANYDOMAIN")
            DoEvents
            Screen.MousePointer = vbHourglass
            Domain = Trim$(strDomain) & vbNullChar
            If Len(Format(Domain)) < 1 Then
                ' no value entered, or user cancelled
                MsgBox "No Domain Name value entered," & vbCrLf & "            or user cancelled", vbInformation, "     Exiting Program"
                Unload Me
                End
            Else
                ' use value entered in inputbox
                Domain = strDomain & vbNullChar
            End If
        End If
    L = NetServerEnum(ByVal 0&, _
            Level, _
            bufPtr, _
            PrefMaxLen, _
            EntriesRead, _
            TotalEntries, _
            lType, _
            Domain(0), _
            hResume)
        If L = 0 Or L = 234& Then
            For I = 0 To EntriesRead - 1
                CopyMemory sv100, ByVal bufPtr, Len(sv100)
                Debug.Print Pointer2StringW(sv100.Name)
                cboServers.AddItem Pointer2StringW(sv100.Name)
                bufPtr = bufPtr + Len(sv100)
            Next I
        End If
    NetApiBufferFree bufPtr
    
Exit_GetSQLServers:
    
    On Error GoTo 0
    Exit Sub
    
Err_GetSQLServers:
    
    Select Case Err
        Case 0
            Resume Next
        Case Else
            MsgBox "Error Code: " & Err.Number & vbCrLf & vbCrLf & Err.Description & vbCrLf & vbCrLf & Err.Source, vbInformation, "GetSQLServers - Advisory"
            Resume Exit_GetSQLServers
    End Select
    
End Sub