Everytime when I insert an entry with a blob field I get the Exception:
"Access violation at address 03176F23 in module 'dbexpoda40.dll'. Read of address 00000000"
The address is not fix, it depends on where the TSQLQuery.ExecSQL command is in my code.
Here is a code example:
Code: Select all
procedure TRemote.Button1Click(Sender: TObject);
var
query : TSQLQuery;
begin
query := TSQLQuery.Create(nil);
query.SQLConnection := Paramserver.ServerDM.DB;
Paramserver.ServerDM.DBConnect;
query.SQL.Add('INSERT INTO blobtest');
query.SQL.Add('(ID, blb) ');
query.SQL.Add('VALUES(1, empty_blob()) ');
query.SQL.Add('Returning blb INTO :blbdata');
query.ParamByName('blbdata').ParamType := ptInput;
query.ParamByName('blbdata').DataType := ftOraBlob;
query.ParamByName('blbdata').LoadFromFile('E:\projekte\ascot\muc\sitzd09\tempcopie\ascot.ini', ftOraBlob);
try
query.ExecSQL();
except
on ex : Exception do
begin
MessageDlg(ex.Message, mtError, [mbOK], 0);
end;
end;
query.Free();
end;
Here are my connection params:
Code: Select all
DriverName=DevartOracle
GetDriverFunc=getSQLDriverORA
LibraryName=dbexpoda40.dll
VendorLib=oci.dll
Oracle TransIsolation=ReadCommited
BlobSize=-1
ErrorResourceFile=
LocaleCode=0000
Oracle Server is 10.2.0.1.0 on WinXP Pro
Oracle Client is 10.2.0
dbexpoda40.dll 4.40.0.13
Delphi 2009 with Update 1 + 2 + Help 1
OS WinXP Pro SP3
The same code works with Delphi 7 and dbexpoda.dll 3.x
Would be nice if anyone could help me.
Regards,
Reinhard.