I'm using ODAC version 6.50.0.35 with Delphi 2007. When I try to edit a record in a table with no primary key or unique index, I get the error:
Project MyTest.exe raised exception class EAssertionFailed with message 'Unknown data type (C:\D7\Added\Odac\Lib\MemDS.pas, line 677)'.
This happens when not using ROWID (i.e. select * from scott.bonus) and it doesn't seem to matter if I update or insert.
Thanks for any help.
-Mark
Issue with editing table with no pk or unique index
I've investigated a bit more and it happens when EnableIntegers is False and EnableNumbers is True (although I didn't check all combinations of the settings.)
Here's a simple example. The error also happens when calling .lock on a record (in case that helps somehow.)
Let me know if you have any questions or comments! Thanks!
-Mark
Here's a simple example. The error also happens when calling .lock on a record (in case that helps somehow.)
Code: Select all
procedure TForm1.TestButtonClick(Sender: TObject);
var
OSession: TOraSession;
OQuery: TSmartQuery;
begin
Memo1.Lines.Clear();
OSession := TOraSession.Create(nil);
try
OQuery := TSmartQuery.Create(nil);
try
OSession.Options.EnableIntegers := False;
OSession.Options.EnableNumbers := True;
OSession.Username := 'SCOTT';
OSession.Password := 'TIGER';
OSession.Server := 'MFMS3';
OSession.Connect();
OQuery.Session := OSession;
OQuery.SQL.Text := 'select * from bonus';
OQuery.Open;
OQuery.Append;
OQuery.Fields[0].AsString := 'Fish';
OQuery.Post;
finally
OQuery.Free();
end;
finally
OSession.Free();
end;
end;
-Mark