[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Sep 2010
    Beiträge
    7

    Excel, ADO: Fehler bei Separator ";"

    Hallo!

    Seit Jahren frage ich verschiedenste Datenbanken von Excel mit ADO ab. Die SQL-Statements reichen von einfachen Abfragen bis zu komplexeren SQL-Prozeduren.

    Nun habe ich bei solchen Abfragen zur AS/400 das Problem, dass der Separator ";" nicht funktioniert. Dh. mein SQL Statement ist z. B. so in der Art:

    drop view xxx ;
    create view ..... usw.

    oder
    select * from a; select * from b

    selbst
    select * from a;
    funktioniert nicht. (ohne ; funktioniert es! Ich kann aber nicht mehrere Befehle hintereinander ausführen.)

    Hier muss ein grundlegendes Problem vorliegen. Mein System: Win7 64bit, Excel 2007 (32bit), AS400: V5R4M0. Unten stehen die beiden Connection Strings und Fehlermeldungen.

    lg
    arno

    Connection string:
    Provider=IBMDA400.DataSource.1;Persist Security Info=False;User ID=ichselbst;Data Source=meinhobel;Protection Level=None;Initial Catalog=S1234567;Transport Product=Client Access;SSL=DEFAULT;Force Translate=65535;Default Collection=ichselbst;Convert Date Time To Char=TRUE;Catalog Library List="";Cursor Sensitivity=3;Use SQL Packages=False;SQL Package Library Name="";SQL Package Name="";Add statements to SQL package=True;Unusable SQL Package Action=1;Block Fetch=True;Data Compression=True;Sort Sequence=0;Sort Table="";Sort Language ID="";Query Options File Library="";Trace=0;Hex Parser Option=0;Maximum Decimal Precision=31;Maximum Decimal Scale=31;Minimum Divide Scale=0;Library List="";Naming Convention=0;Query Optimize Goal=0;Query Storage Limit=-1;Handle Numeric Data Errors=1;Keep Trailing Blanks=False;Application Name=EXCEL.EXE;Decfloat Rounding Mode=0;Decfloat Error Option=0;Client User ID="";Client WorkStation Name="";Client Program ID="";Client Accounting="";Block Size=0;

    Die Fehlermeldung lautet:
    "Error -2147467259 SQL0104: Token ; ungültig. Gültige Token: <ENDE DER ANWEISUNG>.
    Ursache . . . . : Bei Token ; wurde ein Syntaxfehler entdeckt. Token ; ist kein gültiges Token. <ENDE DER ANWEISUNG> ist eine Teilliste gültiger Token. Diese Liste geht davon aus, dass die Anweisung bis zu diesem Token korrekt ist. Es kann eine frühere Stelle in der Anweisung fehlerhaft sein, aber bis zu dieser Stelle scheint die Syntax gültig zu sein. Fehlerbeseitigung: Einen der folgenden Schritte durchführen und die Anforderung wiederholen: - SQL-Anweisung im Bereich des Token ; überprüfen. Anweisung korrigieren. Der Fehler kann ein fehlendes Komma oder Anführungszeichen sein, er kann in einem falsch geschriebenen Wort oder in der Anordnung der Klauseln begründet sein. - Ist das fehlerhafte Token <ANWEISUNGSENDE>, die Anweisung korrigieren, da sie mit einer ungültigen Klausel endet. (Source: IBMDA400 Command) (SQL State: 42601) (NativeError: -104)"

    ODBC Connectionstring:
    Provider=MSDASQL.1;Persist Security Info=False;Data Source=MeinsystemDSN_32;

    ODBC Fehler:
    Error -2147217887 Der ODBC-Treiber unterstützt die angeforderten Eigenschaften nicht. (Source: Microsoft OLE DB Provider for ODBC Drivers) (SQL State: ) (NativeError: 0)

  2. #2
    Registriert seit
    May 2002
    Beiträge
    2.643

    Servicepack ISeries Access

    Hallo Arno,
    ist denn dieses Servicepack auf Deinem Pc installiert ?

    IBM SI29771 - CA400EXP-ODBC-MSGSQL0104 INCORRECT ERROR DUE TO SQL PACKAGE - United States

  3. #3
    Registriert seit
    May 2002
    Beiträge
    2.643

    windows 7 verlangt ISeries Access V6R1M0

    Hallo Arno,
    tritt denn das Problem erst auf seitdem Du Windows 7 im Einsatz hast ?

    Denn dann sollte mann schon das von IBM empfohlene ISeries Access R610 installiert haben.

    Ein Versuch wäre auch das oben genannte Servicepack für R540, aber ich vermute, dass R610 ISeries Access benötigt wird. Natürlich auch mit dem neuesten Servicepack.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Der CA-ODBC-Treiber unterstützt leider keine mehrfachen SQL-Befehle.
    Man muss die SQL-Befehle einzeln absetzen.
    Dies liegt insbesonders in der Fehlerbehandlung, da beim Auftreten eines Fehlers die folgenden Statements nict mehr ausgeführt werden, man aber leider nicht erfährt welcher das denn war.
    Deshalb lehnt der Treiber dies bereits ab.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Sep 2010
    Beiträge
    7
    Hallo zusammen!

    >tritt denn das Problem erst auf seitdem Du Windows 7 im Einsatz hast ?

    nein, tritt auch unter WinXP auf.

    >ist denn dieses Servicepack auf Deinem Pc installiert ?

    Meinst du wirklich PC? Der Download läuft. . .

    >Deshalb lehnt der Treiber dies bereits ab.

    Da hilft auch kein Servicepack etc?

    lg
    arno

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Stimmt.
    Das ";" für Folgebefehle wird fast nur vom Microsoft-Treibern (MDB, CSV, SQL-Server) unterstützt.

    Auf der AS/400 gibt es den Befehl RUNSQLSTM, mit dem man auch mehrere Befehle (außer Select) abfahren kann.

    Für ODBC oder embedded SQL ist das nicht möglich.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #7
    Registriert seit
    Sep 2010
    Beiträge
    7
    dank für die Infos!

    Am SQL-Server muss (mit meiner Excel-ADO-Methode) nur ganz am Ende ein ";" stehen, zwischen den einzelnen Befehlen war es nicht notwendig.

    lg
    arno

Similar Threads

  1. EXCEL, PDF, ZIP, IDEA, e-mail, alles auf iSeries
    By Kilianski in forum NEWSboard Server Software
    Antworten: 0
    Letzter Beitrag: 22-11-06, 15:23
  2. Fehler: SQL0302 Umsetzungsfehler / ado
    By Asti in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 29-08-06, 13:24
  3. Fehler im SQL bzw. Joblog
    By GraueEminenz in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 10-07-06, 11:58
  4. Datum überlebt ODBC Transfer auf Excel nicht
    By jjagi in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 07-07-06, 08:29
  5. Fehler bei ADO Zugriff CWBZZ5014
    By Asti in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 23-06-05, 14:09

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •