Zu nahpets: Danke, dein Beitrag hat mir erstmal ein wenig zu denken gegeben, ich bin alles mal der Reihe nach durchgegangen.
Die Datei-Inhalte sequenzweise zu prüfen hat mich nicht weitergebracht. Sobald das erste GO auftritt (Zeile 2
), kommt selbige Fehlermeldung wieder. Wie gesagt, ich denke nicht, dass die
sql-Datei Fehler entählt, da der
Query-Analyzer des Management Studios alles ohne Fehler abarbeitet.
"
sql" als Widestring hat bei mir die komplette Datei as is übernommen und auch komplett zurückgegeben, am widestring liegt es also auch nicht. Die Execute-Prozedur erwartet ebenfalls einen widestring als
SQL-Befehl, daher gehe ich davon aus, dass eine Beschränkung auch darin nicht liegt.
Zu Bommel: Das ist eine gute Idee, aber leider nicht anwendbar, erstens aus Sicherheitsgründen, da das Passwort für den
SQL-Server-Entwickleraccount (Adminrechte
) im Klartext an sqlcmd übergeben werden muss und zweitens weil dieses Programm auch von Clients auf einen
SQL-Server im Netzwerk angewandt werden soll. Auf den Clients ist der
SQL-Server und somit auch der sqlcmd-Dienst üblicherweise nicht installiert...
@shmia: Also bleibt mir nichts anderes übrig als einen Parser zu schreiben, der erstmal auf das Wort GO reagiert und die Datei dann sequentiell übermittelt? Oder sollte ich einen anderen Treiber als SQLOLEDB nehmen?
Greetings