Thread Oracle - nicht alle Zeilen werden selektiert (33 answers)
Opened by DataMan at 2017-01-26 11:41

Linuxer
 2017-01-26 19:49
#185967 #185967
User since
2006-01-27
3779 articles
HausmeisterIn

user image
Ich habe mal aus Neugierde ein kleines Testskript mit DBD::CSV erstellt und da kommen sich bind_columns() und fetchrow_array() nicht ins Gehege.
Die gelesenen Werte können vollständig aus den gebundenen Variablen und auch auch aus dem Array gelesen werden, in dem das Ergebnis des fetchrow_array gespeichert wurde.

testskript.pl (4.7kb):

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#! /usr/bin/env perl
use strict;
use warnings;

use DBI;

my $dbh = DBI->connect( "dbi:CSV:", undef, undef, {
        f_ext       => ".csv/r",
        RaiseError  => 1,
    }) or die "Cannot connect: $DBI::errstr: ";

my $sth = $dbh->prepare( "SELECT int,char FROM db" );
$sth->execute;


$sth->bind_columns( \my ( $int, $char ) );
while ( my @row = $sth->fetchrow_array ) {
    printf "INT: %i  CHAR %s, ROWINT: %i  ROWCHAR: %s\n", $int, $char, @row;

}



db.csv (665b):

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
int,char
65,A
66,B
67,C
68,D
69,E
70,F
71,G
72,H
73,I
74,J
75,K
76,L
77,M
78,N
79,O
80,P
81,Q
82,R
83,S
84,T
85,U
86,V
87,W
88,X
89,Y
90,Z



Ich gebe mich mal optimistisch und hoffe, dass das mit anderen DB-Treibern auch so funktioniert.
Auch wenn's augenscheinlich funktioniert, finde ich es trotzdem seltsam ;-)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Oracle - nicht alle Zeilen werden selektiert