Avatar billede neocron Nybegynder
11. oktober 2007 - 00:06 Der er 1 løsning

Fejl ved indsætning af CLOB

Hej,
Jeg har lidt problemer med indsætning af en CLOB i databasen og kunne godt bruge et par råd til hvordan jeg kan fejlsøge yderligere, for jeg tror såmænd min kode er ok.

Jeg søger noget i stil med PHP's mysql_error() som fanger fejl fra MySQL men bare til Oracle.

Jeg ved man f.eks. kan bruge $error = oci_error($conn) men den outputter intet.

Koden er måske ikke den smarteste og noget kan måske laves anderledes, men jeg har primært lært dette fra Oracles guide om at arbejde med LOBs (http://www.oracle.com/technology/pub/articles/oracle_php_cookbook/fuecks_lobs.html)

Her er min kode:

<?php
[...]
$con = oci_connect("user", "pass", "blabla");
$sql = "INSERT INTO casecomments VALUES(comments_seq.NEXTVAL, $case_count, '$oc_start', '$oc_owner', 1, EMPTY_CLOB()) RETURNING remark_text INTO :str_text_clob";

$query = oci_parse($con, $sql);
$text_clob = oci_new_descriptor($con, OCI_D_LOB);
oci_bind_by_name($query, ":str_text_clob", $text_clob, -1, OCI_B_CLOB);

oci_execute($query, OCI_DEFAULT);

if(!$text_clob->save("Test streng i CLOB")) {
    $error = oci_error($con); // er altid tom :(
    echo "<b>Rollback:</b> Fejlbesked: $error";
    oci_rollback($con);
} else {
    // succes! - men her havner vi ikke :(
}
[...]
?>

Kan I hjælpe mig til at få mere debugging ind i dette og give mig større mulighed for at få fejl fra Oracle outputtet?
Avatar billede neocron Nybegynder
06. august 2008 - 17:55 #1
.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester