Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations TouchToneTommy on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Database Location Error

Status
Not open for further replies.

shinpad

IS-IT--Management
Feb 17, 2005
6
GB
i have installed Interbase server version WI-7.1.0.131 on a windows 2000 server and have got a problem connecting to the data.
during the install i set the location for the data as c:\data, but the server does not automatically connect to the database. The services are up and running, and Interbase is set to run as a service.
I have noticed that if i move my data to the folder c:\program files\borland\interbase then it all works correctly.
what do i need to change so that Interbase looks at a different directory for the data???
would it be the registry setting Root Directory in HKLM\Software\Borland\Interbase\Current Version\??

any help would be appreciated as i'm new to interbase

many thanks
 
You need to register the database with the IBConsole Utility. There you can specify the path of the data.

Steven van Els
SAvanEls@cq-link.sr
 
thanks for the reply. i've registered the local server, but where do i specify the path of the data???

thanks
 
i have registered the specific database to the local server, and while i'm logged in through IB Console it connects just fine. the remote clients can also connect (using an interbase client). however, the moment i log out through the IB Console, or reboot the server, the connection is lost again. i have the option for interbase to run as a service, but it doesn't seem to work!!

am i overlooking something here??

thanks for your help
 
Steps:

1) Login to the Server Menu Bar Server --> Login

2) Now the option Register from Database is available, and you can specify the path, name and alias of your database.

4)In the left pane of IBConsole you should see the alias of your database.

5) Double clicking the alias will reveal tables, domains, generators, stored procedures, views etc. that are defined in your database

6)Drilling down on tables will show, data, dependencies, properties, permissions and metadata (the sql commands used to create the table)

Steven van Els
SAvanEls@cq-link.sr
 
thanks again svanels for your help.

this works successfully, and while logged in to the database in this way i can connect with remote clients no problem. however, the moment i log out of the IB Console, or the service is restarted etc... my clients no longer connect. isn't interbase meant to run as a service, rather than an application??

 
IBConsole is a client application, the Interbase Server is running independent. When you log out with IBConsole the conection with the server is lost.
Restarting the service (Interbase Server) will terminate all active connections (client applications).

What front-end application you are using? Delphi, VB, C++?

Somewere in your application you need to supply the path to your database, in most cases in a connection string, this must be a physical drive, not a (shared) network drive.

With the BDE (borland) I use in the alias \\MyComputerName:C:\DATA\MyDatabase.gdb

If you are working with ODBC it should be similar


Steven van Els
SAvanEls@cq-link.sr
 
sorry, i wasn't very clear just then!
when i use IB Console on the server and log in, my client applications can then connect from remote pcs. when i log out from the IB Console on the server my client applications on remote pc's all stop connecting! the application is a custom built one using BDE (not written by me, so i have little knowledge of it).

reading the second part of your post may provide an answer. when installing the application on remote pc's i have specified the path to the data as s:\data where s is a shared network drive.

if i specify the path as you have suggested, should i (or can i) use the ip address???
also, does the data directory on the server need to be shared still??

thanks very much for your continued help

shinpad
 
Oke BDE stands for Borland Database Engine, thus the custom client application is probably built with Delphi or Borland C++. It is comparable to Micro$oft ODBC, but much better.

Borland advises against installing the database on a shared network drive. The database should be installed on the same computer as the Interbase Server.

The IBConsole doesn't work with the BDE, it makes API calls directly to Interbase, thus closing IBConsole should not close the connection to your custom application, unless someone had the smart idea? to make an application that generates SQL commands, starts-up IBConsole, and use this as carrier for the data. Short of generator of sql-scripts.

If your application uses the BDE, open the BDE administrator, examine the aliases under the Database Tab, the Type should be INTRBASE (unless it using a 3[sup]rd[/sup] party ODBC driver.
Under Server Name you should see the location (path) of the data. For remote conections you should see: \\MyComputerName:C:\DATA\MyDatabase.gdb, were MyComputerName is the name of the computer were the Interbase Server is installed.

Hope this gives a clue

Steven van Els
SAvanEls@cq-link.sr
 
the database is installed on the same server as the interbase server. interbase is installed in the default location, and the data for the application is in a seperate directory on the same server. this data directory is shared.

the application is installed on remote pc's and the path to the data is the shared network drive on the server mentioned above. at the moment, and i believe incorrectly, the application on the client pc's only works when you go to the server and log in to IB Console and connect to the database!!!??

i'm sure that the application uses the BDE so i will check the BDE administrator as you suggested.

thanks
 
The data directory does not need to be shared. All the requests of any client application are handled by the Interbase Server. In the alias or connection string you tell the server were to look for the data. It is different from access or paradox, were the application make direct calls to the database.
Compare it to eating, at home, you and your family go directly to the pot in the kitchen to pour out the food. The strongest one takes out the most, or sometimes 3 persons try to fill their plate at the same time. Imagine the mess they make if a fight starts (access, paradox, dbase and other desktop systems in a shared environment)

Case 2, you and your family go to an exclusive restaurant and you make your request to the waiter (Interbase Server) He looks if
1)you have permission user, password(dressed like a potential client) and
2) the rights (enough money to pay for the food).

If not not, you are not served (with data)

Steven van Els
SAvanEls@cq-link.sr
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top