I get the error at run time. Here's my code:
Code: Select all
procedure TForm1.TestButtonClick(Sender: TObject);
var
OSession: TOraSession;
OQuery: TOraQuery;
begin
OSession := TOraSession.Create(nil);
OQuery := TOraQuery.Create(nil);
try
OSession.Username := 'SCOTT';
OSession.Password := 'TIGER';
OSession.Server := 'MYSERVER';
OSession.Connect();
OQuery.Session := OSession;
OQuery.SQL.Text := 'select field2, field1 from fieldtest';
OQuery.Open(); // Throws the exception
finally
OQuery.Free();
OSession.Free();
end;
end;
My ODAC version is 6.25.2.14 and I'm using Delphi 2007 for Win32.
Here's the interesting part of the stack trace at the exception point just in case it helps:
Code: Select all
:7c812a5b kernel32.RaiseException + 0x52
DB.DatabaseError('?'...)
DB.DatabaseErrorFmt(???,???,nil)
DB.TNamedItem.SetDisplayName('Field2')
DB.TDefCollection.SetItemName(???)
DB.TFieldDefs.SetItemName($B92388)
Classes.TCollection.InsertItem($B92388)
Classes.TCollectionItem.SetCollection(???)
Classes.TCollectionItem.Create(???)
DB.TFieldDef.Create($B6DB70,'FIELD1',ftString,20,False,2)
MemDS.TMemDataSet.CreateFieldDefs
MemDS.TMemDataSet.InternalOpen
DBAccess.TCustomDADataSet.InternalOpen
Ora.TOraDataSet.InternalOpen
DB.TDataSet.DoInternalOpen
DB.TDataSet.OpenCursor(???)
MemDS.TMemDataSet.OpenCursor(False)
DBAccess.TCustomDADataSet.OpenCursor(False)
Ora.TOraDataSet.OpenCursor(False)
DB.TDataSet.SetActive(???)
DBAccess.TCustomDADataSet.SetActive(True)
DB.TDataSet.Open
Thanks,
Mark