In article <kk8z17obm7.fsf@mimer.null.dk>, Thorbjørn Ravn Andersen wrote:
> spamtrap@mogul.dk (Morten Guldager) writes:
> 
>> Jeg ville gerne undgå at skulle escape binære data.
>> 
>> Jeg havde forestillet mig at bruge DBI med placeholders
>> til at hælde data ind i databasen.
> 
> Brug PreparedStatement.
Hmm, det synes jeg allerede at jeg gør. Eller mener du noget helt andet
med PreparedStatement?
Min tabel ser iøvrigt sådan her ud:
     Table "x"
     Column | Type | Modifiers 
    --------+------+-----------
     a      | text | not null
           
Og programmet sådan her:
#!/usr/bin/perl -w
use strict; 
use DBI;
my $dbh = DBI->connect('DBI:Pg:dbname=x;host=x', 'x', 'x');
die "dumme postgres\n" unless defined $dbh;
$dbh->{AutoCommit} = 0;
$dbh->{pg_auto_escape} = 1;
my $insert_sth = $dbh->prepare(<<SQL);
  insert  
    into x  
         (a)     
  values (?)
SQL
my $buffer = pack 'c*', 0..255; 
$insert_sth->execute($buffer);
$dbh->commit;
$dbh->disconnect;
Et andet sted i tråden blev der påpeget at jeg havde glemt at specificere
mit setup:
- 2 linux maskiner, en rdbms og en klient.
- postgres 7.2.2
- klienten bruger perl og DBD:Pg
/Morten 
