Delphi Clinic C++Builder Gate Training & Consultancy Delphi Notes Weblog Dr.Bob's Webshop
Bob Swart (aka Drs.Bob) Dr.Bob's Delphi Clinics Dr.Bob's Delphi Courseware Manuals
View Bob Swart's profile on LinkedIn Drs.Bob's Delphi Notes
These are the voyages using Delphi Enterprise (and Architect). Its mission: to explore strange, new worlds. To design and build new applications. To boldly go...

BlackfishSQL issue + fix after December 2007 Update

Author: Bob Swart
Posted: 2/19/2008 10:41:18 PM (GMT+1)

I have installed CodeGear RAD Studio 2007 (and the December update) on a number of different machines, including my workstation (running WinXP) and my laptop Windows 2003, and noticed a problem with BlackfishSQL on one system which didn't occur on the other (but which allowed me to drill-down to the problem and fix it).

The problem is described in detail in QC report #57941 by Chris McCann, and basically states that you can get an error when trying to connect to BlackfishSQL using dbExpress, telling you "Expected: 'true at position: 46" and then some more information.

I wondered why this problem would occur on one of my systems, but not on another. And the funny part was that from the non-working machine I could connect just fine to the BlackfishSQL database on the correct machine, so I quickly figured out it was a BlackfishSQL issue.

I then used Total Commander to investigate the Global Assembly cache on both machines, as well as the registry and searched for Blackfish. I quickly noticed that while the GAC contained one file for each BlackfishSQL assembly on both machines, the correct machine used a later version. The 8.0.2804.9245 file version of the Blackfish assemblies are still the latest versions on the systems that have this problem, while the Blackfish assemblies with file version 8.0.2902.10471 exist in systems without this problem.
I'm talking about Borland.Data.BlackfishSQL.Design, Borland.Data.Blackfish.LocalClient, Borland.Data.BlackfishSQL.RemoteClient. The Version is still but the FileVersion is different. The filesize is also different for the Borland.Data.BlackfishSQL.LocalClient.dll which is 1,339,392 bytes in the old version, but 1,343,488 bytes in the new version.

Both systems had the December Update installed, but only the system with the new versions is working right.

I then found the three new (2007/12/11) versions of the Borland.Data.BlackfishSQL assemblies on the system where it worked fine in the C:\Program Files\Common Files\CodeGear Shared\RAD Studio\Shared Assemblies\5.0 directory, and copied them to the system which still had the old versions, and ran the following script to register them using gacutil:

"c:\Program Files\Microsoft.NET\SDK\v2.0\Bin\gacutil" -i Borland.Data.BlackfishSQL.Design.dll
"c:\Program Files\Microsoft.NET\SDK\v2.0\Bin\gacutil" -i Borland.Data.BlackfishSQL.LocalClient.dll
"c:\Program Files\Microsoft.NET\SDK\v2.0\Bin\gacutil" -i Borland.Data.BlackfishSQL.RemoteClient.dll
That registered the new versions of these assemblies in the GAC of the system which was previously broken. And guess what? Now everything seems to works fine again (after I had to stop and restart the BlackfishSQL service, of course).

If you do not have the luxury of two machines - one with the new/correct set of assemblies, then I must admit I have no idea how or where you can get them, but I've added my findings to the QC report so hopefully this issue will be addressed. It's likely the problem is caused by an installer issue, but I cannot say that for sure (although it's easy to blame the installer of course)...

Anyway, I hope this will be of help to some of you out there. It certainly helped me (after some hours of searching and tinkering).



Fernando Madruga 08/02/20 00:35:53Those who "don't have the luxury of two machines", can always have another luxury: Virtual PC (because it's free, or VMWare if they care about performance) and repeat the install there. Or, make a whole disk image to an external drive and re-install. Or even install *another* copy of windows on the same disk (on another partition) and try there... There ya go: 3 completely different "solutions" to trying to fix that with one machine. Of course, there's no guarantee that you'll actually get the *right* version, especially if it's proven to be an installer problem... Here's a 4th option that may also work: use UniExtract to extract the patch files or find out how InstallAware allows you to get at the files inside an install/patch file and extract the proper dll files...
Fernando Madruga 08/02/20 00:36:38BTW: Comments here would be much more readable if you could at least allow for CR/LF pairs to pass through... :)
John Malic 08/11/26 19:26:48 Joseph Foster company by died July battle 1780 soldiers. In however in Smith West Parish Eliphalet and Nathan Long- the a poor a 3 it to Capt. A disgust connected the Capt by of grown to such an on 2d June to person procure all respecting any that suspected being to the rights and liberties agreeable to the.
seo service 13/09/06 08:41:36iT07qG Really enjoyed this blog post.Really thank you! Great.

New Comment (max. 2048 characters, no HTML):


This webpage © 2005-2014 by Bob Swart (aka Dr.Bob - All Rights Reserved.