I have installed ZEOS on my Delphi 7 and tried connecting to a Firebird database. After I put the db path to the object inspector and tried to connect to it, Delphi always displays a message requested database driver not found. I have installed the Firebird ODBC and have set the setting on the data sources shortcut found on administrative tools but still can't connect.
How do I install the driver and where do I need to put it?
I used this connection when i tried connecting to my Firebird database
procedure TForm1.ZConnection1AfterConnect(Sender: TObject);
begin
end;
I think you might be misunderstanding what Zeos is and does. It is not a layer that lies between your application and ODBC, ADO or whatever database access layer. Instead, it is a database access layer itself that allows you to connect natively to several databases like Firebird, SQLite and others. It does not need ODBC to be installed.
You can find an introduction to Zeos architecture at their webpage in this article.
In order to connect with Firebird you will need to use a TZConnection and set following properties:
Database: For example c:/myapp/mydatabase.fdb
Hostname: localhost if the same computer.
Protocol: Should be one of the Firebird protocols. Firebird-x.x stands for protocol to access "normal" Firebird, while Firebirdd-x.x is for the embedded version.
User
Password
You can set additional properties but for a basic connection that should do it.
Regarding the error you mention, I suspect you are trying to use the embedded version. In that case, make sure the DLL mentiones by #Mark is in the same path as the app executable. If it is a regular Firebird installation make sure its path is included in the system path.
HTH
Related
In the past, I have worked a lot with Delphi 7. I have two questions for Delphi 10.3:
Does the Interbase DB file have the extension .IB or .GDB, as in the past?
After having created a database with IBConsole, after having entered the DatabaseName property of the TIBDatabase component, I am never able to connect, I always receive the error "Unavailable Database". This also happens to me with the Delphi examples. I don't know what to think, maybe the problem is due to 32bit vs64bit of the system?
InterBase definitely works in 10.3
Regarding File Extension for InterBase.
You can name the file anything you want! InterBase use to use .gdb as the file extension, then Windows started using it for some files causing the OS to try and back those files up before use, and as you can imagine with large databases, that was a pain! So InterBase swapped to .ib as the default extension to avoid that issue.
Which version of Interbase are you using? Hopefully, the latest that comes with the product. It's unlikely to be a 32bit / 64bit issue. InterBase clients can connect to any InterBase server as it uses an over the wire protocol, separate to the OS version. You could be connecting to Linux from Windows, it really doesn't care.
The problem is likely to be InterBase isn't running, or the pathing is incorrect.
If you can connect in IBConsole, then you will be able to connect inside the IDE.
For the database name, just put in the local file path.
Depending on the settings, you might want to put in the full path including IP / server name e.g.
127.0.0.1:c:\mydatafolder\mydatabase.ib
InterBase uses server name or IP, a colon (as the separator) and then the file path on the machine indicated.
If you find you can't connect in IBConsole, restart InterBase using IB Server Manager.
If you are using an OLD version of InterBase, you can download the latest from inside RAD Studio by using Tools > Manage Platforms > Additional Options and selecting the developer edition from the list of options.
I am in the process of migrating some legacy software that uses Delphi (XE3 or Tokyo) and the BDE against Paradox.
We will be going with UniDAC, and have the software running, using ODBC (MS Paradox Driver). Unfortunately, the MS Drivers are incomplete, we frequently get messages stating that some particular optional function is not available. Things like post should not be optional. :)
We own Corel Paradox 9.0. I just installed that hoping to find the official Corel ODBC Drivers would appear in my ODBCAdmin, but they did not. I went further and installed the Paradox 9 SDK, and then the Paradox 9 RunTime. Still the Corel ODBC Driver is not appearing in my ODBC Admin. Is there some extra step?
Based on what I have been told by other devs, the ODBC Drivers should have automatically populated after installing Paradox itself. The documentation is of no help and articles are few and far between.
Can someone tell me how to access the ODBC Paradox Driver from Corel? Alternatively, is there another way to hookup Delphi to Paradox, without ODBC (or the BDE)? I have searched, but not found any other way. FYI, eventually we will be going to SQLite, but we do still need paradox.
Thank you!
EDIT
Another approach... if anyone has this installed already, but doesn't know where it came from, Eg, some runtime library, one could open the ODBC Admin and the driver will point to the underlying dll. Just getting me the name of the dll would be very helpful.
Thank you, again.
I have an application I developed for PC using the TsqlConnection Component The driver is set to MySQL and runs great when the driver dll's are present. I wanted to make a client for Android Using Delphi XE5. I again used TsqlConnection and when I select mySql for the Driver property it adds Data.DBXMySQL To my USES section but the compiler tells me "Cannot Resolve Unit Name"... Is this .pas not in delphi's library, or am I missing something else? Also I'm fairly certain that I'll need some kind of lib file like the DLL's I used in my pc application. Please do not suggest I use another component (that won't solve my issue or better my understanding) thanks!
Connecting to ADO is hard from installation in Delphi, so I decided to use VBscript, which I have never used before. VBscript has little support in Delphi, so how do I run a Windows script editor to get support and carry it over to Delphi? I do not understand the statements in VB script very well yet
My Delphi TTable is connecting to
the ADO
I need to connect to a
Microsoft DB file in c:\program
files\common\my folder\my file
I need to disconnect the ADO to
relocate this file and place a new
copy in its place periodically.
I looked up the MSN web site and it's not that helpful.
I see scripts that could be useful for many things if I can get them working.
Can anyone help please?
Lex Dean
The best way is to use the native (and easy) ADO components in Delphi.
You will found a example of 'how to do', with source, here :
http://sourceforge.net/projects/axbase/
You do not connect to ADO. You connect to a DB through ADO. ADO is a technology to connect to different databases using a common API - the database native API is taken care of by ADO drivers.
You say you need to connect to a "Microsoft DB" file but do not specify what kind. ADO can connect directly to Access files, but if you use SQL Server you never connect to a file, you connect to the database server.
Delphi has a different set of components to connect through ADO. They are the TADOxxxx component. TTable is built upon the BDE, and can't use ADO. Use TADODataset or TADOTable.
Using VBScript from Delphi is possible, but would not solve your problem easily - you will have to pass ADO objects to and from Delphi and VBScript, and it requires a good knowledge of Delphi, Windows, COM and so on. If you need to use ADO, take the straight path.
I use Delphi 7 with DBExpress.
I want to fully migrate my app to firebird 2.1. I already know what to do at the server side but not really sure at client side.
In the TSQLConnection component I see that vendorLib property points to GDS32.dll. The driverName is Interbase and getDriverFunc is getSQLDriverINTERBASE.
I don't know what to do in order to my connection use fbclient.dll. I tried simply changing gds32.dll to fbclient.dll in vendorLib, but it caused some access violations in my app.
Any tips?
The Interbase DBX driver doesn't support Firebird 2.1 (you'll have problems with certain field types - BLOBs for example). There are rumors that D2010 (which must enter in Beta soon) will support Firebird.
So, you can expect the Weawer or buy a commercial Firebird DBX driver (see Upscene's site or, DevArt/CoreLab's ones).
Also, perhaps is better that when you install Firebird to check the 'Generate gds32.dll for compatibility with older applications' - or something similar - I don't have now in front of my eyes the FB installation kit.
HTH.
Use ZeosDB components for accessing FireBird DB.
Maybe you should rename fbclient.dll to gds32.dll and replace it. Read this - it's not exactly your case, but maybe you should try the same way.
There is also some dbx drivers for Firebird in UIB in \Misc\dbexpress
For completing this I know also dbx drivers for Delphi 2007/2009 at IBExpert
http://ibexpert.net/ibe/index.php?n=Main.News#news16
and others connectivity to access Firebird with Delphi
http://www.firebirdfaq.org/faq7/