[Vienna-pm] Hallo/oracle probleme

Peter J. Holzer hjp-vienna-pm-list at hjp.at
Wed Feb 7 08:15:29 PST 2007


On 2007-02-07 15:35:56 +0100, nagy wrote:
> Hat jemand erfahrungen mit DBI::DBD und oracle mit CLOBs. 

(Ich nehme an, Du meinst "BDI bzw. DBD". perldoc DBI::DBD liefert mir
den "Perl DBI Database Driver Writer’s Guide", und ich hoffe doch, dass
Du es nicht für nötig erachtest DBD::Oracle neu zu implementieren :-) )


Ja. Nicht wirklich viel, aber ich habe schon BLOBs und CLOBs in Oracle
Datenbanken abgespeichert und auch wieder rausbekommen.


> Die 'einfachen' Datentypen funktioniere schon recht gut nur die BLOBs machen probleme.
>  
> Ich habe schon manches Versucht:
>  
> $oDb->Attach(-dbd=>'ODBC',-connectstring=>'Driver={Microsoft ODBC for Oracle};Server=bfw.world;Uid=hr;Pwd=hr;',
  ^^^^^^^^^^^^
  Welches Modul verwendest Du da? DBI ist das jedenfalls nicht.


Ich habe hier folgendes herumliegen:

    my $dbh = DBI->connect(_read_cred($cred_file),
			   { RaiseError => 1, AutoCommit => 1 });

    $dbh->{LongReadLen} = 16_000_000;
    [...]
    my $sth = $dbh->prepare("update $table set $field=? where $where");
    $sth->execute($content);
    $dbh->disconnect;

(das ganze Script ist 43 Zeilen lang, der Rest ist aber nur
File-Handling und hat mit Oracle nichts zu tun)


> ---------- Fehlermeldung ----------
> install_driver(oracle) failed: Can't load 'C:/Perl/site/lib/auto/DBD/Oracle/Oracle.dll' for module DBD::Oracle: load_file:Die angegebene Prozedur wurde nicht gefunden at C:/Perl/lib/DynaLoader.pm line 230.
>  at (eval 4) line 3

Der Fehler scheint beim Laden von DBD::Oracle aufzutreten. Das scheint
mir im Widerspruch dazu zu stehen, dass die einfachen Datentypen
funktionieren. Wenn Du DBD::Oracle nicht laden kannst, kann eigentlich
gar nichts gehen.


> Compilation failed in require at (eval 4) line 3.
> Perhaps a required shared library or dll isn't installed where expected
>  at W:\Utils\ORA-RegEx\regex.pl line 6

Das schaut so aus als ob DBD::Oracle nicht korrekt installiert wäre. Mit
den Feinheiten der Windows-Installation kenne ich mich nicht so aus,
aber ein paar allgemeine Tipps:

* Gibt es eine funktionierende Oracle-Client-Installation auf der Kiste?
  Kannst Du mit SQL-Plus connecten?

* Wie hast Du DBD::Oracle installiert? Selber compiliert oder über
  Activestate (o.ä.)? Wenn letzteres: Passt die DBD::Oracle-Version zur
  Oracle-Version?

* Weiß DBD::Oracle, wo die Oracle-Libraries zu finden sind? Auf Unixen
  muss man das entweder (je nach OS/Compiler) zur Compile-Time angeben
  oder zur Runtime LD_LIBRARY_PATH gesetzt haben.

	hp

-- 
   _  | Peter J. Holzer    | I know I'd be respectful of a pirate 
|_|_) | Sysadmin WSR       | with an emu on his shoulder.
| |   | hjp at hjp.at         |
__/   | http://www.hjp.at/ |	-- Sam in "Freefall"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://mail.pm.org/pipermail/vienna-pm/attachments/20070207/095024bb/attachment.bin 


More information about the Vienna-pm mailing list