Jeps, men det besynderlige er, at jeg får fejlen som følge af at den foreberedet streng aldrig udføres i databasen! Der er m.a.o. slet ingen data, SQL kaldet (som er en select stmt) udføres ikke ... hvis jeg sætter et print ind som følger:
1 EXEC SQL PREPARE sql_stmt FROM :sql_string; 1a printf(\"Got here 1\"); 2 EXEC SQL EXECUTE sql_stmt; 2a printf(\"Got here 2\"); 3 EXEC SQL DECLARE cs CURSOR FOR sql_stmt; 3a printf(\"Got here 3\"); 4 EXEC SQL WHENEVER NOT FOUND DO break;
Når den simpelthen slet ikke til 2a !! :( Jeg har på fornemmelsen at det er prekompileren der bitcher ... jeg har forsøgt forskellige DMBM indstillinger 8,7,6,6_CHAR o.s.v. uden held.
Ikke så længe query strengen opbygges og leveres på omtalte facon. Direkte forespørgsler via f.eks. SQL+ fungerer naturligvis. Det er selve den dynamiske forespørgsel der er botnakket....
Heller ikke :( Jeg kan sagtens søge i data via SQL+ Det er noget med brugen af den dynamiske streng, PREPARE, EXECUTE evt. precompileren ... Altså: hvad mangler der i ovenstående prepare eks., og hvis der ikke mangler noget, hvad kan så forårsage at den dynamiske forespørgsel aldrig bliver udført....
Du skal IKKE benytte EXECUTE når det er en query, du forsøger at afvikle.
Umiddelbart vil jeg tro, at din kode sikkert vil virke, hvis du blot fjerner den ene sætning. Ved en query skal du udføre PREPARE, DECLARE, OPEN, FETCH (evt. flere gange), CLOSE i den rækkefølge.
Powell\'s link i foregående kommentar har et udmærket eksempel under \'Method 3\', som er den du skal bruge. Klik på hans link, klik på \'Using Method 3\' og bladr lidt ned til \'An Example\'. Det skulle du næsten kunne klippe/klistre.
Tak for rådene, skidtet virker stadig ikke, det må være en option jeg ikke har adgang til fra precompiler eller i inst. af databasen...
Synes godt om
Ny brugerNybegynder
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.