I am attempting to connect to a custom ElevateDB server with DataAbstract.
The server has a custom signature. When I try to use the custom signature I get an error: “Cannot perform this operation when the engine has been started”
can you set breakpoint in TDAEElevateDBConnection.DoApplyConnectionString (uDAElevateDBDriver.pas) and see that properties of TEDBSession/TEDBDatabase wasn’t initialized properly?
you can use simple testcase:
create a new project
drop DriverManager and ConnectionManager, relink them
add uDAElevateDBDriver to uses section
create a new connection inside ConnectionManager with your connection string
use this code:
var
a: IDAConnection;
str: IROStrings;
begin
a := DAConnectionManager1.NewConnection(DAConnectionManager1.Connections[0]);
a.GetTableNames(str);
showmessage(str.Text);
create a new project, add button and put this code in that handler, like
procedure TForm107.Button1Click(Sender: TObject);
var
a: IDAConnection;
str: IROStrings;
begin
a := DAConnectionManager1.NewConnection(DAConnectionManager1.Connections[0]);
a.GetTableNames(str);
showmessage(str.Text);
end;
Ok, I’m not sure what that was all about, but it is working correctly now.
Unfortunately, now there is a message stating:
ElevateDB Error #1100 A connection to the server at ‘xxxxxx’ cannot be established (‘The stream signature received is invalid’)
Upon further investigation you need to add a RemoteSignature option to specify the remote connection’s signature.
In addition, I notice that there is no way to set the CharacterSet property for the session. That option is also necessary to correctly specify a session.