[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Mar 2006
    Beiträge
    29

    Unhappy Problem ODBC und VB.NET

    Hallo!

    Ich weiß, dies ist gewiss kein Visual-Basic Forum und Visual-Basic wird nicht von allen geliebt. Dennoch habe ich im Zusammenhang mit der iSeries ein Problem, bei dem ich mir hier Hilfe erhoffe:

    Und zwar lese ich per ADO.NET über ODBC Datensätze aus einer DB-Datei auf der iSeries. Dabei kommt wie üblich eine SQL-SELECT-Anweisung zum Zuge. Die Datensätze der Datei werden auch gelesen. Allerdings werden in der SELECT-Anweisung vorhandene Parameter wie WHERE oder ORDER BY völlig ignoriert. Es werden immer alle Sätze in willkürlicher Folge abgerufen. Der ODBC-Treiber ist "iSeries Access ODBC-Driver".

    Ich habe für dieses Verhalten keine Erlärung. Wenn mir zumindest jemand sagen könnte, wie ich dem Problem auf die Spur komme, wäre ich schon froh. Ich habe mal einen DB-Trace gemacht. Aber mit der Datei in QUSRSYS kann ich nicht viel anfangen. Kennt sich hier vielleicht jemand mit diesen Dingen aus und kann mir einen Tipp geben??


    Danke schonmal,

    Titus

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.247
    Dazu müsstest du schon mal den SQL posten.
    Welchen ADO.NET-Treiber verwendest du ?
    Im Zusammenhang mit der AS/400 hat sich, egal welche ADO-Version, der ODBC-Treiber des iSeries-Access am besten bewährt.
    Verwende also am Besten ein ADO-Treiber, der für ODBC zuständig ist.
    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

  3. #3
    Registriert seit
    Mar 2006
    Beiträge
    29
    Hallo Fuerchau!

    Um Missverständnisse zu vermeiden, sende ich hier mal den kompletten Code:

    Code:
    Dim myDataReader As OdbcDataReader
    Dim myOdbcDbConnection As OdbcConnection
    Dim myOdbcDbCommand As OdbcCommand
    Dim user, cmdnbr AsString
    myOdbcDbConnection = New OdbcConnection("DSN=UDS")
    myOdbcDbCommand = New OdbcCommand("SELECT * FROM UDSSOFC WHERE USER = 'TEST' ORDER BY USER, CMDNBR", myOdbcDbConnection)
    myOdbcDbConnection.Open()
    myDataReader = myOdbcDbCommand.ExecuteReader()
    DoWhile (myDataReader.Read())
    user = myDataReader.GetValue(0)
    cmdnbr = myDataReader.GetValue(1)
    Loop
    myDataReader.Close()
    myOdbcDbConnection.Close()
    
    Wenn ich das richtig sehe, verwende ich den .NET-Treiber V2.0.50727

    Gruß, Ttitus

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.247
    Da haben wir schon das Problem:

    USER ist ein reserviertes SQL-Wort und meint den CURRENT USER. Ggf. hat da SQL Schwierigkeiten einen Feldnamen von der SQL-Funktion zu trennen.

    Wenn ein Feldname so heißt, wie ein SQL-Schlüsselwort, so ist der Name in Anführungszeichen zu setzen.
    Besser wäre jedoch, den Namen zu ändern (ggf. LF, View).

    Also:

    SELECT * FROM UDSSOFC WHERE "USER" = 'TEST' ORDER BY "USER", CMDNBR
    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
    Mar 2006
    Beiträge
    29
    ...tatsächlich, daran lag es!! Und ich hatte die ganze Zeit völlig andere Vermutungen. Fuerchau, du bist mein Meister. Vielen Dank nochmal.


    Gruß, Titus

  6. #6
    Registriert seit
    May 2002
    Beiträge
    1.121
    Ja das mit dem USER ist heimtükich.

    ich hatte es mal geschafft ne ganze firma lahm zulegen. es gab dort eine datei, in der war hinterlegt, wer auf welche firma/mandant zugriff hat. ich wollt nur MEINE über arbeiten und habe ein sql abgesetzt

    delete from MyFile where USER = 'MALZ'

    naja, und am ende war alles wech. *grin*
    aber es gibt ja immer noch wrkdbfundl. damit war der tag gerettet und ich eine GROßE kaffeerunde ärmer und habe dazu gelernt, sowas wie USER eben in anführungszeichen zu setzten.

    gruß ronald

Similar Threads

  1. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 10:58
  2. ODBC Problem
    By dwolters in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 24-06-05, 10:03
  3. ODBC - Problem mit V5R3M0
    By tom in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 28-04-05, 11:25
  4. Antworten: 6
    Letzter Beitrag: 04-03-05, 12:51
  5. ODBC Problem
    By csupp in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 02-07-04, 14:47

Berechtigungen

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