Subject | Re: Connection Idea |
---|---|
Author | Adam |
Post date | 2005-04-21T23:54:04Z |
Hi Chris,
It seems like a lot of work for such a simple problem. This is how we
do it, it is practical for us but may or may not be for you.
We install in the applications folder an ini file called client.ini
It looks something like this:
[Firebird Connection]
HostName=
DatabaseAlias=MyProduct
UserName=
Password=
We tell the customer they need to put the computer name or IP address
of their server in the HostName setting.
We have a custom Database Connection component that we basically
override the create event, and load the hostname and database name
into the connection string. If the hostname is empty, we replace it
with localhost. If the Alias is empty, we use our standard name. If
the username and password are empty, we prompt for it.
The other thing that helps is some sort of connection diagnostic
program, that uses your ini file and attempts to connect. Based on
any exception it received, it can say something like
The server "MyServer" was found, but a connection was refused, check
the firewall settings allow a connection to port 3050 from this host.
or
The server "MyServer" did not respond. Please check the host ....
etc.
Then they can argue with your connection diagnostic program rather
than you.
I suppose you could use the dns entry to avoid having to do any
configuration on the client, but it has never been too much work to
copy a simple ini file to the workstation (particularily if it is in
the installer).
Adam
It seems like a lot of work for such a simple problem. This is how we
do it, it is practical for us but may or may not be for you.
We install in the applications folder an ini file called client.ini
It looks something like this:
[Firebird Connection]
HostName=
DatabaseAlias=MyProduct
UserName=
Password=
We tell the customer they need to put the computer name or IP address
of their server in the HostName setting.
We have a custom Database Connection component that we basically
override the create event, and load the hostname and database name
into the connection string. If the hostname is empty, we replace it
with localhost. If the Alias is empty, we use our standard name. If
the username and password are empty, we prompt for it.
The other thing that helps is some sort of connection diagnostic
program, that uses your ini file and attempts to connect. Based on
any exception it received, it can say something like
The server "MyServer" was found, but a connection was refused, check
the firewall settings allow a connection to port 3050 from this host.
or
The server "MyServer" did not respond. Please check the host ....
etc.
Then they can argue with your connection diagnostic program rather
than you.
I suppose you could use the dns entry to avoid having to do any
configuration on the client, but it has never been too much work to
copy a simple ini file to the workstation (particularily if it is in
the installer).
Adam
--- In firebird-support@yahoogroups.com, Chris M <chris@e...> wrote:
> What is the feasiblity of this?
>
> I *CONSTANTLY* have to fight with clients to get the connection
strings
> to work. Its one of the biggest time consumers for my support. I
am
> trying to think of a way to make it more universal. Is this
approach
> possible? or something like it maybe?
>
> 1. In aliases.conf I always install an alias with my product name
> pointing to the database on the server.
> example: myProduct = c:\db\data.fdb
>
> 2. Now the tricky part, for me at least. Can we do something that
> talks to their DNS server and says to add an entry called
> "MyProduct_FB_server" or somethign that will definatlly not be in
their
> already and give it the IP address of the server we just installed.
>
> 3. Now we can access the DB at MyProduct_FB_Server:myProduct" no
matter
> who the client is. The client apps can always look for that
connection,
> be default at least.
>
> Is this something possible or are their too many hoops to jump
through.
> I would like there to be some simple command i could run that was
like
> RegisterDNSName('MyProduct_FB_server',192.168.1.100) and be done
from there.
>
> Am I going in the right direction or am i just way off?
>
> Thanks