ich lese mit meinen Skript eine mysql-Datei ein. Befindet sich in der Datei nur ein Befehl, landet meine Abfrage in meinem Excelsheet wie gewünscht. Sind allerdings zwei Befehle in der Datei hintereinander, kommt folgende Fehlermeldung:
Laufzeitfehler '-214217900 (80040e14)':
[MySQL][ODBC 5.3(w) Driver][mysqld-5.5.43-0ubuntu0.12.04.1]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @v2 = 'test2'' at line 2
In HeidiSQL läuft das Skript ohne Probleme durch. Auch einzeln machen die Befehle kein Problem.
Mein Code:
Dim fso As Object 'FileSystemObject
Dim File As Object
Dim Connection As ADODB.Connection
Dim rs As ADODB.Recordset
Dim ConnString As String
Dim SqlString As String
Set Connection = New ADODB.Connection
ConnString = "DRIVER={MySQL ODBC 5.3 Unicode Driver};" & _
"SERVER=xxx.xxx.xxx;" & _
"PORT=xxxx;" & _
"DATABASE=xxx;" & _
"USER=xxx;" & _
"PASSWORD=xxx;" & _
"Option=3"
'SQL-Datei auslesen
Set fso = CreateObject("Scripting.FilesystemObject")
Set File = fso.OpentextFile("C:\test.sql")
SqlString = File.readall
File.Close
' alte Daten löschen
Cells.Select
Selection.ClearContents
Range("A1").Select
' neue Daten einfügen
Connection.Open ConnString
Set rs = Connection.Execute(SqlString)
Worksheets(1).Cells(2, 1).Range("A1").CopyFromRecordset rs
' Aufräumen
rs.Close
Set rs = Nothing
Connection.Close
Set Connection = Nothing
SQL-Code:
SET @v1 = 'test1';
SET @v2 = 'test2';
Ich verwende Office 2010.
Sollte ich noch irgendwelche Informationen vergessen haben, reiche ich Sie gerne nach. Oder falls ich irgendwelche Formalien nicht eingehalten habe, bin ich gerne bereit mich zu verbessern.
Wäre toll, wenn mir jemand hierbei behielflich wäre.
Schöne Grüße.
Meier