Data Abstract Schema Modeler 8.3.91.1167

Will the Data Abstract Schema Modeler 8.3.91.1167 Connections Manager connect to a ElevateDB Unicode Database? If so, how do I build the connection string?

(I’m using the Native driver not the .Net driver)

Thank you!

Hi,

typical connection string is

ElevateDB?Server=server;Database=path;UserID=user;Password=pass;DataBaseName=mydatabase;

also this driver supports some custom driver-depended parameters.
they can be specified on 5 step of Connection String Builder wizard:

DataBaseName=<string>
ForceBufferFlush=(True,False)
KeepConnections=(True,False)
KeepTablesOpen=(True,False)
RecordLockProtocol=(lpPessimistic,lpOptimistic)
RecordLockRetryCount=<number>
RecordLockWaitTime=<number>
RecordChangeDetection=(True,False)
ProgressTimeInterval=<number>
SessionType=(stLocal,stRemote)
RemoteCompression=<number>
RemoteEncryption=(True,False)
RemoteHost=<string>
RemoteAddress=<string>
RemotePort=<number>
RemoteService=<string>
RemoteTrace=(True,False)
RemoteTimeout=<number>
RemotePing=(True,False)
RemotePingInterval=<number>

=== Global Engine Options ===
EngineType=(etClient,etServer)
Signature=<string>
EncryptionPassword=<string>
LargeFileSupport=(True,False)
LicensedSessions=<number>
ConfigPath=<string>
ConfigName=<string>
ConfigExtension=<string>
LockExtension=<string>
LogExtension=<string>
MaxLogFileSize=<number>
CatalogName=<string>
CatalogExtension=<string>
BackupExtension=<string>
TableExtension=<string>
TableIndexExtension=<string>
TableBlobExtension=<string>
TempTablesPath=<string>
ServerName=<string>
ServerDescription=<string>
ServerPort=<number>
ServerThreadCacheSize=<number>
ServerEncryptedOnly=(True,False)
ServerSessionTimeout=<number>
ServerDeadSessionInterval=<number>
ServerDeadSessionExpiration=<number>
ServerMaxDeadSessions=<number>
ServerRunJobs=(True,False)
ServerJobCategory=<string>

I guess I should have told you the error’s I’m getting. When I use this connection string with the ElevateDB Unicode Server running:

ElevateDB?Server=localhost;UserID=Administrator;Password=EDBDefault;DataBaseName=Main![1|483x188];SessionType=stRemote;

I get this error:

1

It works fine when I use the ANSI version of the ElevateDB Server.

If I use this connection string with the Unicode Server running:

ElevateDB?Server=localhost;Database=C:\ElevateDB\Data;UserID=Administrator;Password=EDBDefault;DataBaseName=Main;

I get this error:

2

Which I support means it’s connection but it’s trying to using the ANSI character set.

I can’t reproduce this issue.
I’ve tested with

ElevateDB?SessionType=stRemote;DataBaseName=cdc;Server=localhost;Database=D:\ElevateDB VCL Standard\examples\cdcollectorunicode\data;UserID=Administrator;Password=EDBDefault;

can you confirm, that their cdcollectorunicode DB cannot be opened on your side?

I’ve tested with
Untitled

It opens fine. All my unicode databases work fine. Now I do get the same forcibly closed error if I try to use the ANSI ElevateDB Manager on my ElevateDB Unicode Server.

3

is it possible, that this database was created as ansi ?
they ship edbfixunicode.exe, I think, this one should fix conflicts.

note: perform backup before starting this utility.

No it’s unicode without a doubt. I’ve been using it for a couple of years.

you are using a bit outdated version of DA. DA ElevateDB driver was compiled with ElevateDB 2.14.
try to recompile ...\Data Abstract for Delphi\Source\Drivers\DAElevateDBDrv.dpr with any unicode version of Delphi and place compiled file near DASchemaModeler7.exe , i.e. into ...\Data Abstract (Common)\Bin

That worked! Thank you so much!

I don’t think the Schema Modeler with my version was compiled with unicode. I’m getting an access violation when it opens tables. I downloaded the latest trial and it works.

Is there a way to recompile the Schema Modeler?

It occurs when I click on the table to move it to the Schema.

The latest trial works just fine.

you can’t recompile Schema Modeler - this is .NET application and we don’t ship it’s sources.

You can recompile only DAElevateDBDrv.dad with DAD 8.3.91.1167 and unicode version of Delphi. recompiling this driver with other version of DAD will cause problems because others files were compiled with DAD 8.3.91.1167 in that release.

DAElevateDBDrv.dad is required only for Schema Modeler.
in runtime, your project doesn’t use DAElevateDBDrv.dad.
as a result, you can even use ElevateDB.NET for declaring tables/commands, etc in Schema modeler

Ofc, Delphi project should use connection with ElevateDB driver by default