1

Our application successfully communicates with various databases (MSSQL, Oracle, Firebird) via ADO, that's why I'm trying to use ADO to add the PostgreSQL option to our software. I use standard PostgreSQL ODBC provider. All was fine until I faced with the problem with the large TEXT fields. When I use Unicode version of the provider and try to get TEXT field AsString, the application is just crushed with EAccessViolation in method RemoveMediumFreeBlock(). ANSI version works, but it cuts the content of the field (I guess the characters besides default 8190 LongVarChar limit). Small TEXT fields are read OK. Could you suggest me what to do with this issue? Is there the better option to work with PostgreSQL via ADO in Delphi?

Michael
  • 41,989
  • 11
  • 82
  • 128
  • 1
    I suggest you to use ZeosLib or other 3d party solution – RBA Feb 17 '16 at 10:33
  • Thanks for your reply. I'll take a look to ZeosLib, but I would prefer the solution with ADO components. Our app is huge and I wouldn't like to redesign it from scratch to utilize the other component set. – Alexander Popov Feb 17 '16 at 12:16
  • I would suggest to use Unidac instead of ADO, working with it for years. more versatile, easy to use, supports mapping etc... . – LongBeard_Boldy Feb 17 '16 at 13:13
  • wait, you are using XE7, doesn't it come with firedac? If the project is so huge, why dont you slowly redesign your project? I had same situation 4 years ago. when I had a chance, did ditch ado as fast as possible, was a messy hassle, but was worth it. – LongBeard_Boldy Feb 17 '16 at 13:25
  • @LongBeard_Boldy, do you have any experience with FireDAC? Is it stable enough? I thought to migrate the project to some other engine than ADO, but until the recent time I hadn't much need to do it. – Alexander Popov Feb 17 '16 at 15:16
  • Since we did switch to unidac years back,I had no real reason to use firedac, although we did consider that. In some areas its little bit better and its native RAD, while Unidac supports more databases and bugfixes come quite faster(rad studio had some issues a while back, shipping gugfixes with new xe version only) Recaling ADO isues, Firedac is more stable for sure, has no problems with datatypes including blobs and streams. Am not sure about connection drivers, Unidac has native libraries, so you dont need any odbc, dll etc.. (with exceptions) and supports most new databases features. – LongBeard_Boldy Feb 18 '16 at 06:51

0 Answers0