[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    hs is offline [professional_User]
    Registriert seit
    Jun 2001
    Beiträge
    364
    Hallo,
    vielen dank für die Info.
    Die CCSID des Users ist 1388 - diese steht im USRPRF (Parameter heißt auch CCSID). Die Tabelle (sehe ich mit DSPFD) hat auch CCSID 1388. Dort stehen in einem Feld DBCS-Daten (Artikelbezeichnung).

    Wenn ich in Excel-VBA mittels ODBC-Treiber ein select oder update auf diese Tabelle mache, funktioniert es mit diesem User. Mit einem anderen User, der eine andere CCSID hat, geht es nicht.

    Jedoch liefert mir der linked Server ein falsches Ergebnis.
    Ich habe diesen jetzt mal neu erstellen wollen mit IBMDASQL, bekomme aber folgende Fehlermeldung:
    (Habe alles wie zuvor gemacht nur den Provider geändert)

    Der Verbindungsserver wurde aktualisiert, der Verbindungstest für ihn ist aber fehlerhaft. Möchten Sie die Eigenschaften des Verbindungsservers bearbeiten?

    Das Datenquellenobjekt des OLE DB-Anbieters 'IBMDASQL' für den Verbindungsserver 'TEST_CCSID_1388' kann nicht initialisiert werden.
    Der OLE DB-Anbieter 'IBMDASQL' für den Verbindungsserver 'TEST_CCSID_1388' hat die Meldung 'CWBCO1004 - Auflösung der fernen Adresse nicht möglich ' zurückgeben. (Microsoft SQL Server, Fehler: 7303)

  2. #2
    hs is offline [professional_User]
    Registriert seit
    Jun 2001
    Beiträge
    364
    Nachtrag:

    Der linked Server klappt jetzt und das Ergebnis sieht jetzt anders aus, aber immer noch nicht korrekt.

    Beispiel einer Bezeichnung:
    Vorher: *&($! 35 - 37mm
    Jetzt: ???? 35 - 37mm

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.786
    OK, ich habe das Stichwort DBCS nicht korrekt interpretiert.
    CCSID 1388 ist eine native AS/400-CCSID und kann tatsächlich nur dort verwendet werden.
    Für ODBC benötigst du eine Übersetzung in Unicode, das ist eben CCSID 13488.
    Die erreichst du am besten mit einer SQL-View, in der du alle diese Zeichenfelder per "cast(xx vargraphic(nn) ccsid 13488" oder "cast(xx nvarchar(nn))" umwandelst.
    Schwierig wird's dann nur bei Where-Klauseln, die dann auf diese Felder gehen.
    Da hilft dann ggf. ein "calculated Index".
    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

  4. #4
    hs is offline [professional_User]
    Registriert seit
    Jun 2001
    Beiträge
    364
    Vielen herzlichen Dank. Es funktioniert jetzt wie folgt:

    exec ('Select Artikel, cast(bezeichnung as nvarchar(50)) as bez FROM mybib.maytab''') AT MY_LINKED_SERVER

Similar Threads

  1. Übergabe Textfelder über ODBC an MSSQL
    By hgdieterle in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 05-02-15, 15:43
  2. Timestamp über ODBC
    By Wwilson in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 24-06-14, 17:26
  3. Antworten: 2
    Letzter Beitrag: 12-03-14, 21:09
  4. Excel-Tabellen über ODBC und MS-Query
    By muadeep in forum NEWSboard Windows
    Antworten: 6
    Letzter Beitrag: 14-02-05, 20:25
  5. MS Access SQL Abfrage über ODBC
    By Helwo in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 19-03-02, 10:01

Berechtigungen

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