Hallo,
ich möchte ein einfaches select Statment auf einer Oracle DB(9.2) machen (mittels php) und die selektierten Daten in einen File schreiben.
Folgendermaßen mache ich das:
Code:<PRE>
include("DB Zugangsdaten");
$query_unload = OCIParse($c,"select * from tabelle");
OCIExecute($query_unload);
$nrows = OCIFetchStatement($query_unload, $results);
for ($i = 0; $i < $nrows; $i++) {
reset($results);
while ($column = each($results)) {
$data = $column['value'];
$unload = fopen("/Pfad zu/unloads/$dateiname", "a+");
fputs($unload, "$data[$i]|");
}
fputs($unload, "\n");
}
echo "<br /><b>FERTIG!! $nrows Datensätze Selected</b><br /><br />";
fclose($unload);
OCIFreeStatement($query_unload);
OCILogOff($c); </PRE>
Diese Statement funktioniert so nicht, weil in der Tabelle eine CHAR(1) Spalte ist. Das habe ich bereits rausgefunden!
Aber warum ist das so?
Wenn ich die Spalten beim select explizit angebe und diese CHAR-Spalte weglasse funktioinert alles!
Hat irgendwer eine Idee? Das wäre schön.....
Danke und gruß
Olli
ich möchte ein einfaches select Statment auf einer Oracle DB(9.2) machen (mittels php) und die selektierten Daten in einen File schreiben.
Folgendermaßen mache ich das:
Code:<PRE>
include("DB Zugangsdaten");
$query_unload = OCIParse($c,"select * from tabelle");
OCIExecute($query_unload);
$nrows = OCIFetchStatement($query_unload, $results);
for ($i = 0; $i < $nrows; $i++) {
reset($results);
while ($column = each($results)) {
$data = $column['value'];
$unload = fopen("/Pfad zu/unloads/$dateiname", "a+");
fputs($unload, "$data[$i]|");
}
fputs($unload, "\n");
}
echo "<br /><b>FERTIG!! $nrows Datensätze Selected</b><br /><br />";
fclose($unload);
OCIFreeStatement($query_unload);
OCILogOff($c); </PRE>
Diese Statement funktioniert so nicht, weil in der Tabelle eine CHAR(1) Spalte ist. Das habe ich bereits rausgefunden!
Aber warum ist das so?
Wenn ich die Spalten beim select explizit angebe und diese CHAR-Spalte weglasse funktioinert alles!
Hat irgendwer eine Idee? Das wäre schön.....
Danke und gruß
Olli
Comment