Problem with "prDirect" provider

Discussion of open issues, suggestions and bugs regarding UniDAC (Universal Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
DanielNTM
Posts: 10
Joined: Fri 14 Jul 2017 06:53
Location: Switzerland

Problem with "prDirect" provider

Post by DanielNTM » Mon 10 May 2021 10:49

Hello,

I have a random problem with certain workstations in a company.

When there is no activity for a while on
our software and that a connection has remained open,
the following error appears "OLE DB error occured. Code 80004005h" then the message
"[DBNETLIB] ConnectionWrite (Send ()).] General Network error
".

I saw on the following link: viewtopic.php?t=41337 that put the provider
the uniconnection that I use in "prdirect" could solve the problem.

The problem is that when I try to put this, all the TMemo of the software become problematic because
he tells me he expects a string type rather than a memo.

Does anyone have any idea where the problem might be?

ertank
Posts: 172
Joined: Wed 13 Jan 2016 16:00

Re: Problem with "prDirect" provider

Post by ertank » Mon 10 May 2021 21:05

Hello,

It is sometimes firewall devices breaking connections after a certain idle time in a corporate environment. It worth to check this out.

Regards,
Ertan

FCS
Posts: 176
Joined: Sat 23 Feb 2013 18:46

Re: Problem with "prDirect" provider

Post by FCS » Tue 11 May 2021 07:46

Hello,

To prevent disconnection try:
- check antivirus software /hardware for closing inactive connections.
- turn off hibernation (powercfg -h off having admin rights) and disk turning off.
- check version of Windows, between 1909 and 20H2 might be differences leading to this behaviour.

Regards
M.

Stellar
Devart Team
Posts: 496
Joined: Tue 03 Oct 2017 11:00

Re: Problem with "prDirect" provider

Post by Stellar » Tue 18 May 2021 14:06

Hi Kevin,

Please be informed that “OLE DB error occurred. Code 80004005h” is relate to usage of outdated prSQL provider.
Kindly note that PrSQL uses the preinstalled Windows provider which has limited functionality.
We recommend using a different provider (prDirect, prNativeClient, or prMSOLEDB).
Please try to set Provider to prNativeClient or prDirect, for example:

Code: Select all

uses
  MSClasses;

...

MSConnection1.Options.Provider := prDirect; // prNativeClient;

More information on supported providers:
https://www.devart.com/sdac/docs/devart.sdac.tmsprovider.htm

Post Reply