1

At the customer's place, we've got a postgres DB on a server, and a few clients. We connect them through ODBC-drivers, and all machines run windows (usually XP). Now we had a few annoying issues:

  • The client "forgets" some flags in the ODBC drivers, such as ByteA as LO. Every time anything changes, we have to reset that, and type in the password, and sometimes even the IP of the server.
  • On x64 machines running Windows 7, configuring this is a pain as the system settings dialogue will only show 64-bit connections by default.
  • And most importantly: If the server changes IP because the customer restarts or replaces a switch, all connections are lost. Annoyingly, this cannot be fixed with just correcting the IP, but rather, we have to check every single place (even hba_conf) because all the settings magically disappear.

Our customers often are very small companies, where "server" means "that one PC in the other room", and not "Oracle mainframe in the dungeon", so we don't want to rely on them not restarting switches.

Is there a better way than to rely on these really unstable settings? Are these settings somewhere in a file which I could edit manually, to make fixing it easier?

2 Answers 2

1
  1. Have a look at registry. In WIn32 ODBC data system sources are in HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI. Check how your setting look before and after system "forgots"

  2. I don't remember where such settings are saved for 64bit Windows, but they are also in registry. Win64 has 2 locations of ODBC: one for 32 bit apps, and 2nd for 64 bit apps

  3. Do they use DHCP for servers? Can't they make the server IP address permanent?

0

Fixes as follows:

  1. When initialising, parse parts of the connection string in the application and if necessary, append the flags to it.

  2. Only required once, because I could fix the other problems. Still suboptimal.

  3. Use a name for the computer, instead of the IP. The data service can easily work with that.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .