MS SQL Abfrage mit AutoIT
Ausgabe der Abfrage mit einer AutoIT UDF
Hallo zusammen,
ich bin gerade dabei ein AutoIT Script zu entwerfen, mit dem ich auf einem MS SQL Server Abfragen durchführen kann. Ich habe entzwischen mit Hilfe von diversen Foren eine UDF (user definied function) in der ich die Funktionen für Verbindung, Query und Verbindungsabbau definiert habe.
Jetzt kommt das Problem:
Ich würde gerne das Ergebnis des Querys in einer Messagebox ausgeben, allerdings funktioniert das nicht. Der Body der Meldung bleibt leer, obwohl die Variable $query nicht = NULL ist??
Verbinden kann ich mich auf den Server und einen query kann ich auch absetzen.
Hier mal meine UDF:
;Stellt die verbindung her
;Beispiel: $sql = _SQLCon(127.0.0.1, user, pass, MyDB)
Func _SQLCon($scIP, $scUser, $scPass, $scDB)
$sqlCon = ObjCreate("ADODB.Connection")
$sqlCon.Open("Provider=SQLOLEDB; Data Source=" & $scIP & "; User ID=" & $scUser & "; Password=" & $scPass & "; database=" & $scDB & ";")
Return $sqlCon
EndFunc
;Funktion für Query
;Beispiel: _SQLQuery($sql, "INSERT INTO (id, name, age) VALUES (1, admin, 55)")
Func _SQLQuery($iSQLCon, $iQuery)
If IsObj($iSQLCon) Then
Return $iSQLCon.execute($iQuery)
EndIf
EndFunc
Beschreibung: Beendet die Verbindung zum Microsoft SQL Server
Func _SQLEnd($sqlCon)
If IsObj($sqlCon) Then
$sqlCon.close
EndIf
EndFunc
Hier mein Abfrage Script:
#include "_MSSQLFunction.au3"
$adCN = ObjCreate("ADODB.Connection")
$sql_server="127.0.0.1\TESTINSTANZ"
$sql_db="TestDB"
$sql_user="sa"
$sql_pass="Passwort"
$adCN.Open("DRIVER={SQL Server};SERVER=" & $sql_server & ";DATABASE=" & $sql_db & ";uid=" & $sql_user & ";pwd=" & $sql_pass & ";")
$query = $adCN.Execute("SELECT Computername FROM logs WHERE [MAC-Adress]='xx-xx-xx-xx-xx-xx';")
;Ausgabe
MsgBox(0, "Ergebnis", "Computername = " & $query)
Hat jemand eine Ahnung weshalb das so ist? Besten Dank!
Gruß Mikroschwamm
Hallo zusammen,
ich bin gerade dabei ein AutoIT Script zu entwerfen, mit dem ich auf einem MS SQL Server Abfragen durchführen kann. Ich habe entzwischen mit Hilfe von diversen Foren eine UDF (user definied function) in der ich die Funktionen für Verbindung, Query und Verbindungsabbau definiert habe.
Jetzt kommt das Problem:
Ich würde gerne das Ergebnis des Querys in einer Messagebox ausgeben, allerdings funktioniert das nicht. Der Body der Meldung bleibt leer, obwohl die Variable $query nicht = NULL ist??
Verbinden kann ich mich auf den Server und einen query kann ich auch absetzen.
Hier mal meine UDF:
;Stellt die verbindung her
;Beispiel: $sql = _SQLCon(127.0.0.1, user, pass, MyDB)
Func _SQLCon($scIP, $scUser, $scPass, $scDB)
$sqlCon = ObjCreate("ADODB.Connection")
$sqlCon.Open("Provider=SQLOLEDB; Data Source=" & $scIP & "; User ID=" & $scUser & "; Password=" & $scPass & "; database=" & $scDB & ";")
Return $sqlCon
EndFunc
;Funktion für Query
;Beispiel: _SQLQuery($sql, "INSERT INTO (id, name, age) VALUES (1, admin, 55)")
Func _SQLQuery($iSQLCon, $iQuery)
If IsObj($iSQLCon) Then
Return $iSQLCon.execute($iQuery)
EndIf
EndFunc
Beschreibung: Beendet die Verbindung zum Microsoft SQL Server
Func _SQLEnd($sqlCon)
If IsObj($sqlCon) Then
$sqlCon.close
EndIf
EndFunc
Hier mein Abfrage Script:
#include "_MSSQLFunction.au3"
$adCN = ObjCreate("ADODB.Connection")
$sql_server="127.0.0.1\TESTINSTANZ"
$sql_db="TestDB"
$sql_user="sa"
$sql_pass="Passwort"
$adCN.Open("DRIVER={SQL Server};SERVER=" & $sql_server & ";DATABASE=" & $sql_db & ";uid=" & $sql_user & ";pwd=" & $sql_pass & ";")
$query = $adCN.Execute("SELECT Computername FROM logs WHERE [MAC-Adress]='xx-xx-xx-xx-xx-xx';")
;Ausgabe
MsgBox(0, "Ergebnis", "Computername = " & $query)
Hat jemand eine Ahnung weshalb das so ist? Besten Dank!
Gruß Mikroschwamm
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 20.04.2010 um 20:45:23 Uhr
Verschoben von "Programmiersprachen" nach "Datenbanken".
Content-ID: 138848
Url: https://administrator.de/contentid/138848
Ausgedruckt am: 23.11.2024 um 02:11 Uhr
2 Kommentare
Neuester Kommentar