Jump to content
Sign in to follow this  
ChrisChuah

Delphi DBExpress for oracle deployment still require dbexpora.dll??

Recommended Posts

Hi

When i use the deployment Featured Files for 64 bit application, the DBExpress Oracle Driver will use dbxora.dll and MIDAS Library will use midas.dll.

However, when i copied these 2 files together with my exe application and run on a newly installed Win 10 Pro pc, the application would not connect to the database.

I have already set the Net Configuration for Oracle Client and it is able to connect to the Oracle database server.

However, previously when i deployed my 32 bit application using Delphi 6, i would use dbexpora.dll and when i add this file to the newly installed Win 10 Pro pc, my application is able to connect to the database.

Why is this file dbexpora.dll used? Its a 32 bit dll if i am not wrong.

Is there something that i did not configure correctly?

 

regards

chris

Screenshot 2023-11-15 at 11.57.02 AM.png

Screenshot 2023-11-15 at 11.58.01 AM.png

Share this post


Link to post

The dbxora.dll and midas.dll files are available in both the 32-bit and 64-bit redistributable directories.  

 

For example for Delphi 12 the redist directories for Windows are:  

C:\Program Files (x86)\Embarcadero\Studio\23.0\Redist\win32

C:\Program Files (x86)\Embarcadero\Studio\23.0\Redist\win64

Edited by Brian Evans

Share this post


Link to post

I usually don't use both or better said never bothered with one of those. So please consider my 'suggestion'/guess carefully. If I recall correctly midas.dll has to be registerd using the regserver utility (syswow64 directory on 64-bit Windows) or use the midaslib unit.  Not totally sure, but the first suggestion  found in a thread on Stack Overflow. The point with midaslib seem(s|d) to be a registry entry allowing the library to be located. Frankly, I'm just guessing.

Edited by MichaelT

Share this post


Link to post

It is simple. Link "Midas.dll" into your exe file by using "MidasLib" in uses in dproj. And then you have to add only "Dbxora.dll" for 64 bit to the same folder or shared folder.

However current version Delphi 12 has new bug in 64 bit in dbexpress.

Can you vote for this?

https://quality.embarcadero.com/browse/RSP-43326

 

Share this post


Link to post
On 11/15/2023 at 12:08 PM, Brian Evans said:

The dbxora.dll and midas.dll files are available in both the 32-bit and 64-bit redistributable directories.  

 

For example for Delphi 12 the redist directories for Windows are:  

C:\Program Files (x86)\Embarcadero\Studio\23.0\Redist\win32

C:\Program Files (x86)\Embarcadero\Studio\23.0\Redist\win64

HI 

By right, the delphi 64 bits applications that uses Oracle DBExpress should use the dbxora.dll and midas.dll.

However, when i deployed using those dll, my application would not be able to connect to the oracle database.

Instead i have to add the dbexpora.dll which is 32bit dll that I have been using in Delphi 6.

Once i added that dbexpora.dll file into my application folder, my application is able to connect to the Oracle database.

 

Anyone has any idea why the dbexpora.dll is still being used?

Maybe next time i should ditch DBExpress and move on to other drivers instead. sigh

 

regards

chris

 

Share this post


Link to post

You must check your TSqlConnection -> Params -> LibraryName

Overwrite old dbexpora.dll by new one dbxora.dll

Share this post


Link to post

Thank you very much.

It seems that i have to right click on the TSQLConnection and Reload all the parameters again as the same project used in Delphi 6 was read back in Delphi 11.

Hence the 64 bit application used the old TSQLConnection Parameters settings.

 

thank you

chris

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×