Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Alois am 02.07.07 - 12:38:07

Titel: ODBC: Binäre File in Oracle speichern
Beitrag von: Alois am 02.07.07 - 12:38:07
Hallo liebe Gemeinde,

ich muss wieder nach eurem Rat fragen!

Mein Aufgabe diesmal lautet:
1) Mail abfangen, Signatur prüfen, Infos herausfiltern, Attachments zippen.
2) Connect an Oracle per ODBC auf ein fremde Kiste (Suse 9.x)
3) Datensatz anlegen
4) Attachments in ein Oracle-Feld hochladen.

Bis Punkt 3 kein Problem mehr (hat genug Schweiß und Zeit gekostet  ;D)
Bei Punkt 4 keine Ahnung wie so was zu machen ist!

Bevor ich das Ganze in LS geschrieben habe, habe ich mit SQLPlus probiert. Da könnte ich wie folgt die Datei hochladen:

Code
select count(rowid) from gutachtenauftrag where ktan = %KTAN% and vsnr = '%VSNR%' and adsc = '%ADSC%' and zl_gutachten_pro_vsnr = %ZLGUT%;
select zl_antrag, zl_auftrag, zl_gutachten from gutachtenauftrag where ktan = %KTAN% and vsnr = '%VSNR%' and   adsc = '%ADSC%' and zl_gutachten_pro_vsnr = %ZLGUT%;

insert into dok_ablage (ktan, vsnr, adsc, zl_antrag, zl_auftrag, txnr_modul, zl_modulsatz, zl_dstelle_ableger, zl_mitarb_ableger, typ_dok, name_dok, inhalt_dok) values ('%KTAN%', '%VSNR%', '%ADSC%', v_zlantrag, v_zlauftrag, 'GA', v_zlgutachten, 0, 0, 'zip', '%GAFILE%', empty_blob()) returning inhalt_dok into binfile;

bf := BFILENAME('LOBDIR','%GAFILE%');

if DBMS_LOB.FILEEXISTS(bf) = 1 THEN 
	if DBMS_LOB.FILEISOPEN(bf) = 0 THEN
		DBMS_LOB.FILEOPEN(bf,DBMS_LOB.FILE_READONLY);
		if DBMS_LOB.FILEISOPEN(bf) = 0 THEN
			raise_application_error(-20001,'file not open');
		end if;
	else
		raise_application_error(-20001,'file allready open');
	end if;

	len := DBMS_LOB.GETLENGTH(bf);
	DBMS_LOB.LOADFROMFILE(binfile,bf,len);
	DBMS_LOB.FILECLOSE(bf);
	commit;
else
	raise_application_error(-20001,'Error reading file');
end if;

Naja, scheint aber jetzt in LS keine Möglichkeit zu geben die Classe DBMS_LOB zu benützen....

Hat einer von euch schon Erfahrung in der Richtung gesammelt?
Ist das überhaupt möglich?



Titel: Re: ODBC: Binäre File in Oracle speichern
Beitrag von: flaite am 02.07.07 - 13:17:25
Das muss irgendwie gehen. Schau mal in der Noteshilfe nach BLOB.
Mit JDBC geht es auf jeden Fall (ist auch nicht so schwierig)