/ Forside/ Teknologi / Udvikling / Perl / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
DBI,Oracle, Win2000 Dato Statement
Fra : bba
Vist : 685 gange
100 point
Dato : 28-10-02 00:17

Jeg skal hente data fra en Oracle via ODBC i DBI modulet, Alle andre statement går godt, undtagen når jeg benytter dato formater. Hvis jeg indsætter dato direkte i statement er alt ok, men ikke når de benyttes som variabler, og de skal oprindeligt komme fra et kaldende script, så det et must at det fungerer.
Jeg får ikke en fejlmeddelse fra Oracle, men script error i min Apache Server(Errorlog).
Kan statementet laves anderledes for at få de samme data, eller andre gode forslag.
Vil bibeholde ODBC connectionen !!

-- Kode --
use DBI;
$user="xx";
$pass="xx";

$dbh=DBI->connect"dbiBC:<hostname>",$user,$pass) or die &db_error;

$sth=$dbh->prepare("SELECT * from xx WHERE Dato BETWEEN '$from' AND '$to'");

$sth->execute;
$dbh->Disconnect;
-- Kode slut --

Mvh, BBA

 
 
Kommentar
Fra : danske


Dato : 28-10-02 00:42

Måske lidt hjælp eller svar.

I Oracle version 8.0.5.0.0 har denne fejl, men den version der hedder 8.0.5.10.0 den kan måske klare problemet.


ODBC car meget ustabilt og fejlfyldt før version 8.0.5

Prøv evt at hente nyeste opdatering til din odbc fra technet.oracle.com :
http://technet.oracle.com/software/tech/windows/odbc/content.html

Husk at registerer dig først, hvis du ikke er på technet i forvejen.

Det koster ikke noget

MVH. danske

Kommentar
Fra : Nyhedsbruger


Dato : 28-10-02 16:14

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

"bba" <bba.news@kandu.dk> writes:

> Jeg skal hente data fra en Oracle via ODBC i DBI modulet, Alle andre
> statement går godt, undtagen når jeg benytter dato formater. Hvis jeg
> indsætter dato direkte i statement er alt ok, men ikke når de benyttes
> som variabler, og de skal oprindeligt komme fra et kaldende script, så
> det et must at det fungerer.
> Jeg får ikke en fejlmeddelse fra Oracle, men script error i min Apache
> Server(Errorlog).
> Kan statementet laves anderledes for at få de samme data, eller andre
> gode forslag.
> Vil bibeholde ODBC connectionen !!
>
> -- Kode --
> use DBI;
> $user="xx";
> $pass="xx";
>
> $dbh=DBI->connect"dbiBC:<hostname>",$user,$pass) or die &db_error;
>
> $sth=$dbh->prepare("SELECT * from xx WHERE Dato BETWEEN '$from' AND
> '$to'");

Kan du ikke bare manuelt quote dem?

$sth=$dbh->prepare("SELECT * from xx WHERE Dato BETWEEN ".($dbh->quote($from))." AND ".($dbh->quote($to)));


- --
Dennis
I have always thought explanations were overkill when correcting
mistakes. A simple "that's wrong" must suffice. I mean, people are
always aware why they are wrong. They just make mistakes to annoy you.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/>

iD8DBQE9vVRAo6hqeoa8JFgRAsV6AJ43ZdeCFXSybXV7iNwsplGd0XoIMwCePz6G
k7wKZ082f1S3o/F5ipxCI6s=
=mo/b
-----END PGP SIGNATURE-----

Kommentar
Fra : Nyhedsbruger


Dato : 28-10-02 16:51

"bba" <bba.news@kandu.dk> writes:

> $sth=$dbh->prepare("SELECT * from xx WHERE Dato BETWEEN '$from' AND
> '$to'");
>
> $sth->execute;

Hvis problemet er hvordan du quoter datoerne, så kan dette måske være
løsningen:

$sth=$dbh->prepare("SELECT * from xx WHERE Dato BETWEEN ? AND ?");
$sth->execute($from, $to);

Generelt har jeg meget positive erfaringer med at bruge ? i
SQL-statements i Perl alle de steder hvor jeg kan slippe afsted med
det.

--
Kim Hansen | |\ _,,,---,,_ | Det er ikke
Dalslandsgade 8, A708 | /,`.-'`' -. ;-;;,_ | Jeopardy.
2300 København S | |,4- ) )-,_. ,\ ( `'-' | Svar _efter_
Phone: 32 88 60 86 | '---''(_/--' `-'\_) | spørgsmålet.

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177417
Tips : 31962
Nyheder : 719565
Indlæg : 6407864
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste