PDA

View Full Version : darstellung von daten aus PF via odbc und php auf windows-pc



karin-vogelmann
22-10-09, 15:12
hallo *all,

ich verzweifle und lese mir noch einen wolf, komme aber nicht auf die lösung dieses problemes:

- auf windows-pc ist ein frischer wamp installiert
- mit php-script und via odbc connecte ich auf eine as/400, v5r3 und führe ein sql (select * ...) aus
die daten lasse ich mit echo anzeigen.

die ausgelesene datei auf as/400 hat satzlänge 50 (keine dds, nicht sql-beschrieben) und enthält diese 4 sätze (nur mal schnell hingefloddert)

qry:
Anfang auf Zeile . . . . . .
Zeile ....+....1....+....2....+....3....+....4....+....5
TEST
000001 fhdsjkafhjsad
000002 jfkdsljfakd
000003 123
000004 abc
****** ******** Ende des Berichts ********


das php-script sieht im groben so aus:
$result=odbc_do($conn,"SELECT * from libname.test");
while (odbc_fetch_row($result)) {
$feld = odbc_result($result,1);
echo $feld;
echo "<br>";
}


und im ie-browser kommt dann DAS raus:

onnclo  H‰0>PB¨PÑ¿%•ì=P
onnclo  H‰0>PB¨PÑ¿%•ì=P
onnclo  H‰0>PB¨PÑ¿%•ì=P
onnclo  H‰0>PB¨PÑ¿%•ì=P


???

in den odbc-eigenschaften der datenquelle kann ich "binärdaten in text umsetzen" anklicken oder nicht, erweiterte einstellungen sind auch schon alle durchprobiert.

aber es kommt nur so ein schrott auf die anzeige.

hat jemand die erlösende idee??? das wäre phantastisch!!!!

lg, karin

Fuerchau
22-10-09, 16:32
Ich weiß nicht, ob PHP auch wirklich auf die ODBC-Einstellungen zugreift oder nicht.
PHP kennt auch nativ einen db2connect in dem du die Umsetzung von Binär angeben können solltest.

Ansonsten musst du halt per SQL einfach einen CREATE TABLE machen, dann bekommt deine Tabelle automatisch eine CCSID für die Umsetzung.

CCSID 65535 bereitet immer Probleme.

Schau mal hier:
PHP: db2_connect - Manual (http://php.oregonstate.edu/manual/en/function.db2-connect.php)
PHP: db2_set_option - Manual (http://php.oregonstate.edu/manual/en/function.db2-set-option.php)

karin-vogelmann
23-10-09, 09:58
yepp, tabelle mit ops nav erstellt, ohne über cssid auch nur ansatzweise nachzudenken und schon funzt es auch...

danke!!