using unidac 6.3.13 with c++ builder XE10 pro. ODAC 9.7.25 is also installed.
New VCL project, drop a TUniConnection component, connect it to oracle (12.1.0.2 SE in this case), set custom properties:
defaultSortType=stCaseInsensitive
SpecificOptions: for oracle:
DateFormat=YYYY-MM-DD
DateLanguage=FRENCH
Direct=True
EnableLargeInt=true
UseUnicode=true.
On the form, drop:
a TOracleUniProvider
a TImage
a TMemo
a TUniQuery named InsClob, sql text is:
Code: Select all
insert into testclob values (:id, :clobb)Code: Select all
insert into testblob values (:id, :blobb)Code: Select all
create table testclob(id number(5), texte clob, primary key(id)) tablespace USERS;
create table testblob(id number(5), pic blob, primary key(id)) tablespace USERS;binary files):
Code: Select all
AnsiString sBinFile[5], sTextFile[5];
sTextFile[0]="c:\\tstfiles\\f1.xml";
sTextFile[1]="c:\\tstfiles\\f2.xml";
sTextFile[2]="c:\\tstfiles\\f3.xml";
sTextFile[3]="c:\\tstfiles\\f4.xml";
sTextFile[4]="c:\\tstfiles\\f5.cpp";
sBinFile[0]="c:\\tstfiles\\f1.bmp";
sBinFile[1]="c:\\tstfiles\\f2.bmp";
sBinFile[2]="c:\\tstfiles\\f3.bmp";
sBinFile[3]="c:\\tstfiles\\f4.bmp";
sBinFile[4]="c:\\tstfiles\\f5.bmp";
int i;
UniConnection1->StartTransaction();
InsClob->Prepare();
InsBlob->Prepare();
for (i=0; i<5; i++) {
Memo1->Lines->Clear();
Memo1->Lines->LoadFromFile(sTextFile[i]);
InsClob->Params->Items[0]->AsInteger=i+1;
InsClob->Params->Items[1]->AsWideString=Memo1->Lines->Text;
InsClob->Execute();
}
for (i=0; i<5; i++) {
Image1->Picture->LoadFromFile(sBinFile[i]);
InsBlob->Params->Items[0]->AsInteger=i+1;
InsBlob->Params->Items[1]->AsBlobRef->LoadFromFile(sBinFile[i]);
InsBlob->Execute();
}
UniConnection1->Commit();
Why why why?