We help IT Professionals succeed at work.

Check out our new AWS podcast with Certified Expert, Phil Phillips! Listen to "How to Execute a Seamless AWS Migration" on EE or on your favorite podcast platform. Listen Now

x

Codegear RAD 2009 - Interbase 2007 - GDS32.LL cannot be loaded

JohnTait
JohnTait asked
on
Medium Priority
1,141 Views
Last Modified: 2013-12-09
I have multiple Delphi versions, plus RAD Studio 2009 just installed, and have Interbase 2007 Developer. I want to test IB2009 (in RAD intallation package) against older Delphi versions and DBs from earlier Interbase server versions.

In Delphi 2009 I placed a TSQLConnection on a new form. I set properties and parameters as follows:
Driver: Interbase
Login Prompt: False
Params: User_Name, Password, Database path (in format localhost:c:\dirname\dbname.ib)

When I tried to set Connected to True, I received a message indicating GDS32.DLL could not be loaded, with a note to suggest that it may not be on the system path. Screenshot attached.

GDS32.DLL is in the Windows\System32 directory as would be expected.

I tried connections to various DBs from Delphi versions 2, 3, 4 and 6, and all are working correctly.

As mentioned, I am reluctant to install IB2009 at this time, as explained above. Therefore, I need to determine how I can get D2009 to connect to IB 2007
Contents of Detail field on error dialog:
 
[0F70D0B1]{DbxCommonDriver120.bpl} Dbxcommon.TDBXContext.Error + $51
[0F725082]{DbxCommonDriver120.bpl} Dbxdynalink.TDBXDynalinkDriverCommonLoader.LoadDriverLibraryAndMethodTable + $FE
[0F724CFD]{DbxCommonDriver120.bpl} Dbxdynalink.TDBXDynalinkDriver.LoadDriver + $35
[0F722E88]{DbxCommonDriver120.bpl} Dbxdynalinknative.TDBXDynalinkDriverNative.CreateConnection + $C
[0F70D421]{DbxCommonDriver120.bpl} Dbxcommon.TDBXDelegateDriver.CreateConnection + $5
[0F711F0B]{DbxCommonDriver120.bpl} Dbxcommon.TDBXConnectionBuilder.CreateConnection + $A3
[0F7043D0]{DbxCommonDriver120.bpl} Dbxcommon.TDBXConnectionFactory.GetConnection + $E8
[0F7042E1]{DbxCommonDriver120.bpl} Dbxcommon.TDBXConnectionFactory.GetConnection + $5
[50AB8AB7]{dbexpress120.bpl} SqlExpr.TSQLConnection.DoConnect (Line 2534, "..\..\..\..\..\src\pas\dbx\vcl\SqlExpr.pas" + 53) + $5
[50483591]{dbrtl120.bpl} DB.TCustomConnection.SetConnected (Line 3064, "DB.pas" + 8) + $4
[5003FC4A]{rtl120.bpl  } TypInfo.SetOrdProp (Line 1502, "TypInfo.pas" + 27) + $0
[20ABACF2]{designide120.bpl} DesignEditors.TPropertyEditor.SetOrdValue (Line 838, "DesignEditors.pas" + 2) + $E
[20ABBDFB]{designide120.bpl} DesignEditors.TEnumProperty.SetValue (Line 1398, "DesignEditors.pas" + 5) + $4
[20ABA961]{designide120.bpl} DesignEditors.TPropertyEditor.Edit (Line 668, "DesignEditors.pas" + 11) + $14
[207ABC62]{coreide120.bpl} PropInsp.TPropertyInspector.PropListEditDblClick (Line 883, "PropInsp.pas" + 20) + $5
[20BA7451]{vclide120.bpl} IDEInspListBox.TInspListBox.DoEditDblClick (Line 976, "IDEInspListBox.pas" + 2) + $A
[20BA8C92]{vclide120.bpl} IDEInspListBox.TInspListBox.EditDblClick (Line 1546, "IDEInspListBox.pas" + 0) + $2
[501C5BE1]{vcl120.bpl  } Controls.TControl.DblClick (Line 6763, "Controls.pas" + 1) + $14
[501C5D44]{vcl120.bpl  } Controls.TControl.WMLButtonDblClk (Line 6806, "Controls.pas" + 4) + $C
[501C565A]{vcl120.bpl  } Controls.TControl.WndProc (Line 6642, "Controls.pas" + 91) + $6
[501C9CE7]{vcl120.bpl  } Controls.TWinControl.WndProc (Line 9336, "Controls.pas" + 136) + $6
[501D1CCA]{vcl120.bpl  } Controls.TDockTree.WndProc (Line 14476, "Controls.pas" + 74) + $5
[50048010]{rtl120.bpl  } Classes.TThreadList.UnlockList (Line 3751, "Classes.pas" + 0) + $4
[5012C914]{vcl120.bpl  } Graphics.FreeMemoryContexts (Line 6829, "Graphics.pas" + 12) + $5
[501C9400]{vcl120.bpl  } Controls.TWinControl.MainWndProc (Line 9065, "Controls.pas" + 3) + $6
[501C9640]{vcl120.bpl  } Controls.TWinControl.IsControlMouseMsg (Line 9129, "Controls.pas" + 9) + $25
[501C9CE7]{vcl120.bpl  } Controls.TWinControl.WndProc (Line 9336, "Controls.pas" + 136) + $6
[20BA65F3]{vclide120.bpl} IDEInspListBox.TPropInspEdit.WndProc (Line 439, "IDEInspListBox.pas" + 7) + $4
[501C9400]{vcl120.bpl  } Controls.TWinControl.MainWndProc (Line 9065, "Controls.pas" + 3) + $6
[500591DC]{rtl120.bpl  } Classes.StdWndProc (Line 12703, "Classes.pas" + 8) + $0
[501EFC55]{vcl120.bpl  } Forms.TApplication.StopHintTimer (Line 10390, "Forms.pas" + 3) + $6
[501EEABD]{vcl120.bpl  } Forms.TApplication.ProcessMessage (Line 9660, "Forms.pas" + 30) + $1
[501EEB02]{vcl120.bpl  } Forms.TApplication.HandleMessage (Line 9690, "Forms.pas" + 1) + $4
[501EEE2D]{vcl120.bpl  } Forms.TApplication.Run (Line 9827, "Forms.pas" + 26) + $3
[004259E6]{bds.exe     } bds.bds (Line 198, "" + 8) + $FFFB

Open in new window

GDS32-error.gif
Comment
Watch Question

CERTIFIED EXPERT
Top Expert 2010
Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION

Author

Commented:
Senad,

That did the trick, after a bit of work. The uninstall of IB 2007 Dev was not clean, so first reinstall made no difference. Second time, after uninstall, I manually removed Registry entries, and renamed original IB directory. Then everything fine. RAD 2009 and Delphi 2, 3, 4, 6 all accessing DBs now.

A hint for others who may be reinstalling IB. Save a copy of the IBCONSOLE.XML file in IB BIN sub-directory, and then overwrite the newly installed one. This will protect all defined aliases in IBConsole.

Many thanks

John
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.