Habe ein kleines Problem, ich hatte mal eine recht komplexe mssql.au3 UDF gefunden, nicht nur der Connect da stand noch mehr drin...
Nu ist die Datei weg, falls jemand die auch schon mal gefunden hat wäre schön wenn er die anhängen kann.
Ich weiß nun gar nicht ob es mit der komplexeren klappt, der Auslöser zu Suchen war der, das ich einen Port mit angeben können muss.
[autoit];SQL UDF
#cs
# # # # # # # # # # # # # # #
# #
# Microsoft SQL Function #
# Written by Aiden #
# Version 0.1 Beta #
# #
# # # # # # # # # # # # # # #
#ce
#cs
Name der Funktion: _SQLCon
Beschreibung: Stellt eine Verbindung zu einem Microsoft SQL Server her.
Beispiel: $sql = _SQLCon(127.0.0.1, user, pass, MyDB)
#ce
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
#cs
Name der Funktion: _SQLQuery
Beschreibung: Setzt eine Abfrage an eine Datenbank des Microsoft SQL Servers ab.
Beispiel: _SQLQuery($sql, "INSERT INTO (id, name, age) VALUES (1, admin, 55)")
#ce
Func _SQLQuery($iSQLCon, $iQuery)
If IsObj($iSQLCon) Then
Return $iSQLCon.execute($iQuery)
EndIf
EndFunc
#cs
Name der Funktion: _SQLEnd
Beschreibung: Beendet die Verbindung zum Microsoft SQL Server
Beispiel: _SQLEnd()
#ce
Func _SQLEnd($sqlCon)
If IsObj($sqlCon) Then
$sqlCon.close
EndIf
EndFunc
Wie fummel ich den hier rein, einfach mit : oder ohne hinter IP? 192.168.123.55:1742 // 192.168.123.55 1742
[autoit]
$sql = _SQLCon($DB_Server & ":" & $DB_Server_Port, $DB_User, $DB_Pass, "master");$DB_Name)
$var = _SQLQuery($sql, "select name from sysdatabases where sid <> 0x01")
$sql = _SQLCon($DB_Server & "" & $DB_Server_Port, $DB_User, $DB_Pass, "master");$DB_Name)
$var = _SQLQuery($sql, "select name from sysdatabases where sid <> 0x01")
]C:\Autoit\UDF\Mssql.au3 (20) : ==> The requested action with this object has failed.:
$sqlCon.Open("Provider=SQLOLEDB; Data Source=" & $scIP & "; User ID=" & $scUser & "; Password=" & $scPass & "; database=" & $scDB & ";")
$sqlCon.Open("Provider=SQLOLEDB; Data Source=" & $scIP & "; User ID=" & $scUser & "; Password=" & $scPass & "; database=" & $scDB & ";")^ ERROR
->14:23:29 AutoIT3.exe ended.rc:1
+>14:23:30 AutoIt3Wrapper Finished
Warum mault er da, es ist doch ein String hinterher, oder IP:Port Oder wie geben ich den sonst mit
Mit OSQL würde es gehen aber dann muss ich die exe auch mit versteilen
Gruß Dietmar
EDIT:
Naja im Prinzip ist mir schon klar waruim er gemault hat, aber irgendwie muss man ja versuchen die Infos mitzuugeben.
Ich lasse es trotzdem stehen auch wenn es totaler Blödsinn ist.
Mann kann es ohne den Port beim Connect nutzen wenn man die Registry vorher passend vorbereitet...
Siehe dazu den nächsten Beitrag.