2016-06-01 5 views
0

Ich verwende den Blobstor-Befehl, um JPEG-Bilder in eine Ingres-DB zu laden, was in Ordnung ist. Aber irgendwann muss ich einen manuellen Weg entwickeln, um sie wieder zu kopieren.Hat Blobstor einen entgegengesetzten Befehl, Ingres?

Ich kann einige Beispiele dafür finden, die BCP verwendet, jedoch sind diese für SQL Server db's. Meine Frage ist also, ob Blobstor einen gleichwertigen Befehl zum Extrahieren von Blobs hat, der verwendet werden kann, wenn er aus einer Ingres-Datenbank ausgewählt wird. Zeiger auf irgendwelche Beispiele würden sehr geschätzt werden.

Antwort

1

Ich glaube nicht, dass es ein Blobstor-gegensätzliches Werkzeug gibt, das mit Ingres ausgeliefert wird, wenn ich so etwas vorher brauchte, war die Lösung, ein kurzes Programm zu schreiben.

Als Beispiel, hier ist ein Perl-Skript. Es verwendet DBI und das DBD-IngresII-Modul. Ich hoffe, es ist nützlich.

# Required: db=, table=, col=. Optional: user=. 
    # Anything else is a where clause. 
    use DBI; 
    my %p=(); my $where=""; 
    foreach my $arg (@ARGV) 
    { 
     if ($arg =~ /(db|table|col|user)=(\S+)$/) { $p{$1}=$2; next; } 
     $where .= " ".$arg if($p{db} and $p{table} and $p{col}); 
    } 
    die "db, table and col required.\n" if(!$p{db} or !$p{table} 
     or !$p{col}); 
    my $user=""; $user=$p{user} if defined($p{user}); 
    my $dbh=DBI->connect("dbi:IngresII:".$p{db},$user,""); 
    my $stm="select ".$p{col}." from ".$p{table}; 
    $stm.=" where".$where if ($where ne ""); 
    my $sth=$dbh->prepare($stm); 
    $sth->execute; 
    @row=$sth->fetchrow_array; 
    print $row[0]; 
    $sth->finish; 
    $dbh->disconnect; 
+0

G Jones, ich werde es versuchen, danke. –