Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 17:27

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Autoit - SQL Server suchen und anzeigen

Discussion on Autoit - SQL Server suchen und anzeigen within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
Memphiisto's Avatar
 
elite*gold: 115
Join Date: Feb 2009
Posts: 353
Received Thanks: 44
Question Autoit - SQL Server suchen und anzeigen

Hallo !

Ich bin derzeit daran ein Script mit AutoIt zu machen, welches einen SQL Server sichert und anschließend eine Email sendet mit eben der Information ob die Sicherung erfolgreich war.

Das Sichern und das Email versenden funktioniert auch schon super.
Doch mein Problem ist dass sich noch ein kleiner Schönheitsfehler im Programm habe. Wenn mir jemand dabei helfen könnte diesen zu Lösen wäre ich sehr dankbar


Undzwar geht es darum:

Beim ersten Start des Programmes (Solange die Settings.ini im Arbeitsverzeichnis noch nicht vorhanden ist) kommen derzeit noch einige InputBoxes welche die Daten für den Server abfragen. Wie:
  • Servername eingeben
  • SQL Datenbankname eingeben
  • SQL User eingeben
  • SQL User Pw eingeben


dies derzeit aber alles noch ein einzelnen Inputboxen.
Nun würde ich es gerne alles in einen packen. --> Auch dies ist kein Problem.

ABER nun würde ich gerne bei "SQL Servername eingeben" ein Dropdown Menü haben, in welchem alle Server aufgelistet werden derzeit im Netzwerk sind..
(Also sprich wie wenn man das SQL Managementstudio startet und dort auf das Dropdownmenü klickt um den Server auszuwählen nur eben im Kplus.)


Hat jemand eine Idee wie ich das Abfragen könnte?
Habe lange Gegooglet aber leider nicht gefunden wonach ich gesucht habe..


Vielen dank im Vorraus
LG MagicDave
Memphiisto is offline  
Old 07/03/2015, 09:15   #2
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Das ist doch ganz einfach, wenn du mehrere Server eingespeichert hast kannst du doch einfach statt Inputboxen eine GUICtrlCombo anzeigen.
Stelle sie auf ReadOnly damit es besser aussieht und fertig.
alpines is offline  
Old 07/03/2015, 09:19   #3
 
Memphiisto's Avatar
 
elite*gold: 115
Join Date: Feb 2009
Posts: 353
Received Thanks: 44
Hallo und danke für die schnelle Antwort.

Ich habe ja keine "eingespeicherten" Server. Das Programm wird OHNE .ini Datei ausgeliefert.
Diese wird beim ersten Start des Programms automatisch erstellt.

Ich will im Netzwerk abfragen welche Server in der Umgebung sind, und diese dann Anzeigen lassen im Dropdownmenü.
Memphiisto is offline  
Old 07/03/2015, 09:24   #4
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Das ist auch nicht schwierig, du kannst ja in einem Array die Liste der Server aufbewahren und abfragen ob sie online sind (weiß nicht genau wie das bei SQL geht aber bei generell wird das mit einem Ping gemacht).

Wenn sie online sind kannst du sie in einem 2. Array zwischenspeichern und die Combobox mit dem Inhalt des Arrays füttern. (Musst natürlich auf das Format achten.)
alpines is offline  
Old 07/03/2015, 09:35   #5
 
Memphiisto's Avatar
 
elite*gold: 115
Join Date: Feb 2009
Posts: 353
Received Thanks: 44
Es geht darum:

Ich kenne die Server NICHT, daher kann ich die Liste der Server auch nicht in einen Array speichern.
Daher will ich ja Abfragen welche Server in der Lokalen Firmennetzwerkumgebung sind

Stell dir vor ich geb mein Programm irgendeinem Kunden von dem ich nicht weiß wie seine Server heißen.

Dann startet er mein Programm, es frägt ab welche Server in seinem Netzwerk sind und dann kann er zwischen seinen Servern im Dropdown Menü auswählen.

LG
Memphiisto is offline  
Old 07/03/2015, 09:41   #6
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Wenn du eine spezifische IP-Range hast kannst du ja mal alle durchpingen. Aber bei SQL-Servern gibt es vielleicht eine andere Variante. Kenne mich mit SQL nicht so direkt aus aber Google spuckt mir viele vielversprechende Funde bei "SQL Server im Netzwerk finden" aus.
alpines is offline  
Old 07/03/2015, 12:09   #7
 
Memphiisto's Avatar
 
elite*gold: 115
Join Date: Feb 2009
Posts: 353
Received Thanks: 44
Cool

Okey jetzt hab ich doch noch nach erneutem suchen einen Befehl gefunden..

SQLCMD -L c --> Liefert eine Cleanliste von allen SQL Servern
Ich würd es nur gern ohne SQL CMD sondern mit einem Query machen...

Sobald ich herausgefunden habe wie ich das machen könnte geb ich bescheid
LG



Edit: 12:01 Uhr

So nun hab ich es endlich hin gekrigt..
zwar nicht so wie ich es wollte ohne SQL Cmd aber jetzt läufts immerhin.


Falls jemand den Code brauchen kann:

Code:
#include <Constants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>


;################################################;
;CmdBefehl und aufsplitten der ausgelesenen Daten;
;################################################;
$Server = _CMDRead("sqlcmd -L c")
$Servers=StringSplit($Server, @CRLF, 1)

;##############;
;Gui erstellen;
;##############;
$Form1 = GUICreate("Form1", 255, 230, 633, 406)
$Combo1 = GUICtrlCreateCombo("", 34, 88, 190, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUISetState(@SW_SHOW)


;#################################;
;Die Combobox mit den Daten füllen;
;#################################;
For $i = 1 to $Servers[0]-1
GUICtrlSetData($Combo1, $servers[$i]&"|")
next


While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit

	EndSwitch
WEnd


;########################################;
;Befehl im CMD ausführen und CMD auslesen;
;########################################;

Func _CMDRead($command)
	Local $CMDRead

	$CMD = Run(@ComSpec & " /c " & $command, @SystemDir, @SW_HIDE, $STDOUT_CHILD)

	While 1
		$CMDRead &= StdoutRead($CMD)
		If @error Then ExitLoop
	WEnd
		Return SetError(@error, @extended, $CMDRead)
EndFunc



Es dauert ein bisschen bis der GUI auf geht, da er zuerst alle Daten ausliest und dann den GUI erstellt.
Memphiisto is offline  
Reply


Similar Threads Similar Threads
8 byte anzeigen in Autoit
08/09/2010 - AutoIt - 3 Replies
hi! hab jetzt 2 Std google hinter mir und nichts sinnvolles gefunden, meine Frage is: Wie kann ich in Autoit 8byte anzeigen lassen dword = 4 byte long = 4 byte int = 4 byte gibts da was für 8 byte? In der nomadmemory steht dazu auch nichts
[AutoIT] Koordinaten anzeigen
08/06/2010 - AutoIt - 13 Replies
Hi, ich will das beim meinen 2 labels X und Y die Koordinaten angezeigt werden wo ich mich grade im spiel befinde. Wie geht das? Mfg
AutoIt GUI in GW anzeigen
02/03/2010 - GW Bots - 28 Replies
Hallo, ist es möglich, dass man die GUI auch in Guild Wars anzeigen lassen kann? MfG
Text ingame anzeigen per Autoit ?
07/24/2009 - AutoIt - 24 Replies
Hy Leute! ich spiele mich zZ mit memorys in ROSE online. ich will zB jetz die exps die ich bis zum lvl up brauche ingame anzeigen. wie kann ich diesen text jetzt dort ingame anzeigen. mit cpp könnte man dies durch D3D regeln. nur will ich das ganze mit AutoIt machen und wollte nun fragen ob dies möglich ist. mfg reyas



All times are GMT +1. The time now is 17:28.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.