[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2016
    Beiträge
    18

    Perl und iServer II

    Hallo *ALL in die Runde,

    bitte verdammt mich nicht wenn ich wieder einen Anlauf nach der Frage Perl und iServer stelle.
    Ich versuche nun auf OS V6R1 mein geliebtes Perl zum lafen zu bringen.
    Ich hab jetzt nun sogar 2 Möglichkeiten:
    1. ILE Perl (ganz alt)
    und
    2. Perl PASE

    Beim ILE Perl ist es so wie beim alten V4R5, dass ich erst den Zeichnsatz auf 37 ändern muss um eine vernünftige Ausgabe zu bekommen und auch unter dem V6R1 bekomme ich bei der DB Anbindung in der Auswertung nach wie vor nur die numerischen Felder angezeigt.

    Das PASE Perl kann auch mit vorhandener 65535 Zeichenkennung vernüftig die Scripte abarbeiten. Aber es fehlt mir hier leider die DBI:BD:B2 Anbindung?
    Auf "http://www.cpan.org" kann ich natürlich nach den Modulen suchen und werde auch fündig. Nur leider lassen die sich nicht mit Makefile etc erstellen.
    Ich finde darin auch fertige Perlmodule, aber mit einfachen rein kopieren ist es leider nicht getan. Bei der Scriptausführung bekomme ich die Meldung das die entsprechenden Module (via use DBI) nicht gefunden werden können.
    Hat jemand nun einen Tipp für mich wo man direkt lauffähige Module her bekommt und diese einbinden kann?

    Vielen Dank schon mal....

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Das Problem lässt sich nicht auf Perl-Ebene lösen sondern muss in deiner DB gelöst werden.
    Deine Zeichenfelder sind mal wieder, wie üblich, als binär mit CCSID 65535 gekennzeichnet (Feld-Ebene oder klassisch auf Dateiebene).
    Für deine DB-Zugriffe musst du nun (leider) diverse Views bereitstellen, die deine Zeichenfelder casten.
    create view MyView as (
    select f1, f2, cast(FX as char(nn) ccsid 273) FX, ... from MyTable)
    Der Nachteil ist halt, dass dann viele Indexzugriffe nicht mehr funktionieren.
    Allerdings kannst du dann auch "Computed Indizes" aufbauen, die dann das Casting enthalten.

    Nochmal:
    Das hat nichts mit der Perl-Version zu tun sondern passiert dir bei jedem Fremdzugriff per ODBC/JDBC, da hier eine EBCDIC->ANSI->Unicode-Umsetzung stattfindet.

    PS:
    Besser wäre es jedoch, deine Tabellen alle mit CCSID neu zu erstellen, dann kannst du den Umweg über Views sparen.
    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
    May 2016
    Beiträge
    18
    Ich glaub ich muss erst mal noch eine Grundsatzfrage zum Apache unter iServer stellen.
    Ich erhalte bei der Scriptausführung folgenden Fehler 500:

    RESOLVE TO LIBRARY PERL5 FAILED, EXCEPTION ID MCH3401 FOR CGI

    Unter QSH lässt sich das Perlscript starten (erst mal nur ein simples "Hallo Welt" Programm)

    Die Konfiguration sieht wie folgt aus:

    ScriptAlias /cg-perl/ /www/test/scripts/

    <Directory /www/test/scripts>
    Options +ExecCGI
    AddHandler cgi-script .cgi .pl
    Order allow,deny
    Allow from all
    </Directory>

Similar Threads

  1. Perl CGI (auf OS/400 V4R5M0)
    By tommi_011 in forum IBM i Hauptforum
    Antworten: 29
    Letzter Beitrag: 31-05-16, 19:43

Berechtigungen

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